Jakarta ee 如何在JBoss远程EJB调用中获取客户端IP地址?

Jakarta ee 如何在JBoss远程EJB调用中获取客户端IP地址?,jakarta-ee,networking,jboss,client-server,rmi,Jakarta Ee,Networking,Jboss,Client Server,Rmi,在经典JNDI查找之后,通过RMI/IIOP调用EJB无状态Bean方法时,如何在服务器端获取客户端IP地址 在JBoss 6.1中,我尝试了java.rmi.server.RemoteServer#getClientHost方法,但它抛出java.rmi.server.ServerNotActiveException:不在远程调用中。有什么方法可以获取信息吗?它是否仍然嵌入到JBoss 6.1的线程中 String currentThreadName = Thread.currentT

在经典JNDI查找之后,通过RMI/IIOP调用EJB无状态Bean方法时,如何在服务器端获取客户端IP地址


在JBoss 6.1中,我尝试了
java.rmi.server.RemoteServer#getClientHost
方法,但它抛出
java.rmi.server.ServerNotActiveException:不在远程调用中
。有什么方法可以获取信息吗?

它是否仍然嵌入到JBoss 6.1的线程中

    String currentThreadName = Thread.currentThread().getName();

然后从那里解析?

是吗?它被指定为返回主机名或抛出
ServerNotActiveException
。由于JBoss远程处理不使用
java.rmi
,我希望它能使用后者。你说得对。同事的沟通失误。我已经更新了问题。简单的回答是你不能。你当然不能用那种方法。它是针对RMI/JRMP的,您正在使用RMI/IIOP。CORBA中可能有一些东西会告诉你,但我从来没有见过。我看过CORBA的实现,但由于它在概念上是一个总线,点对点远程调用只是一个特定的用例。因此,如果信息在某个地方,客户端IP地址应该作为上下文属性存储在请求上下文列表中……如果CORBA中有任何内容,它将在中,但我还是看不到。是的。谢谢,这可能是一种方式。没错,我的问题是关于JBoss的,但我的代码也必须部署在WebSphere上。。。所以我希望有一个更便携的选择。