![](/img/trans.png)
[英]How to get the remote IP address of a client in EJB project from servlet?
[英]How to get the address of the calling remote client of an EJB method in JBoss AS7
我有一个分布式应用程序,由一个服务器组成,JBoss AS7前端和应用程序的后端运行。 在网络中的其他机器上运行的几个客户端获取JBoss的JNDI初始上下文以获取某些对象。 每个客户端都是唯一的,需要在不对其进行任何配置的情况下进行识别。 我的方法是获取他们的地址并映射与他们相关的数据(东西池,在所有连接的客户端之间均匀映射)。
如何获取EJB方法的调用客户端的IP地址?
我已经发现'hacks'描述了如何从线程名称中获取信息(例如在JBoss 4.x中使用),但总是会返回如下内容:
EJB默认 - 7
如果您在某些上下文中提供代码段或方法调用,是否可以添加它的来源? 我无法通过搜索EJB3 , Remoting3和类似的东西找到一些东西
只是一个想法,
可以使用可以通过基于休息的Web服务层公开您的ejb。 如果这样做,很容易找到远程主机名,也可能使用过滤器servlet来允许或禁止请求。
假设您将使用JAX-RS,您可以使用@EJB将bean注入rest类。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.