当前位置: 首页 > 面试题库 >

如何在ejb呼叫中获取主叫IP地址?

蓝飞
2023-03-14
问题内容

如果Java客户端在其他服务器上调用远程EJB,您如何获得客户端IP地址?请注意,从服务器获取它很重要,因为客户端可能位于NAT防火墙之后,在这种情况下,我们需要公共IP地址。

注意:尽管它最好是一种通用的解决方案,但是至少我可以使用一个从JBoss 4.2.2上的EJB2调用中检索IP地址的解决方案。


问题答案:

JBoss社区Wiki上的这篇文章完全解决了您的问题。在JBoss
5之前,显然必须从辅助线程名称中解析IP地址。这似乎是在早期版本中执行此操作的唯一方法。这是这样做的代码片段(从上面的链接复制):

private String getCurrentClientIpAddress() {
    String currentThreadName = Thread.currentThread().getName();
    System.out.println("Threadname: "+currentThreadName);
    int begin = currentThreadName.indexOf('[') +1;
    int end = currentThreadName.indexOf(']')-1;
    String remoteClient = currentThreadName.substring(begin, end);
    return remoteClient;
}


 类似资料:
  • 问题内容: 我正在编写Java Rest Web服务,需要调用者的IP地址。我以为我曾经在Cookie中看到过一次,但现在看不到了。是否有一致的地方获取此信息? 我看到了一个使用“ OperationalContext”来获取它的示例,但这不是在Java中。 问题答案: 我认为您可以通过请求对象获得IP。 如果我没记错的话。

  • 问题内容: 我正在编写Java Rest Web服务,需要调用者的IP地址。我以为我曾经在Cookie中看到过一次,但现在看不到了。是否有一致的地方获取此信息? 我看到了一个使用“ OperationalContext”来获取它的示例,但这不是在Java中。 问题答案: 我认为您可以通过请求对象获取IP。 如果我没记错的话。

  • 问题内容: 我需要从被叫方获取呼叫者信息(什么文件/什么行)。我了解到可以为此目的使用inpect模块,但不能完全使用它。 如何使用inspect获取那些信息?还是有其他方法来获取信息? 问题答案: 呼叫者的帧比当前帧高一帧。您可以用来查找呼叫者的框架。然后使用inspect.getframeinfo获取调用者的文件名和行号。

  • 问题内容: 我已经在voip应用程序中实现了呼叫工具包,在该工具包中,我为传入或传出的呼叫生成了呼叫日志(在“电话最近使用”标签上可见)。当我单击通话记录时,它将打开我的应用程序。我已经重写了委托方法来获取处理程序。 但是我无法获得有关呼叫日志的信息。如何在我的应用程序中获取通话记录信息? 任何帮助,不胜感激。谢谢! 问题答案: 我们可以从 userActivity* 获取 电话号码 , *

  • 1、接口声明 如果您希望在自己的CRM系统嵌入呼叫中心能力,需要对接智齿呼叫中心能力,在对接前请您阅读如下对接流程,以便您更好的完成对接。如果只对接基本呼叫能力,预计对接及调试过程1周左右即可完成。 第一步:获取第三方用户接口调用唯一凭证 请联系您的售后经理,获取您企业的如下信息: 1、companyid(企业id) 2、appid(第三方用户接口调用唯一凭证id) 3、app_key(第三方用户

  • 如何获得呼叫的位置?不是全部地点,只是一个地区?也许android有一些API?未找到内容解析程序和Calllog.calls.content_uri