2010-12-03 181 views
1

像标题所示:如何获取Glassfish中远程EJB客户端的IP地址?

我有一个Swing独立客户端连接到部署在GF 3.0.1上的EJB应用程序。我想在EJB方法中访问客户端IP。

这可能吗?

我还发现this thread但解决的办法是JBoss的...

+0

也许你已经想到了这一点,但作为一个工作,你可以四处提供访问EJB(S)Web服务。这可能是更多的工作,但至少它应该让你在你需要的地方。 – javamonkey79 2010-12-03 22:51:30

回答

1
@WebService() 
public class Test { 

    @Resource 
    WebServiceContext context; 

    @WebMethod(operationName = "getInfo") 
    public String getInfo() { 
     HttpServletRequest request = (HttpServletRequest)context.getMessageContext() 
       .get(MessageContext.SERVLET_REQUEST); 
     return "IP: " + request.getRemoteAddr() + 
       ", Port: " + request.getRemotePort() + 
       ", Host: " + request.getRemoteHost(); 
    } 
}