如何在Glassfish中获取远程EJB客户端的IP地址?

时间:2010-12-03 21:49:20

标签: java java-ee glassfish-3 ejb-3.1

就像标题所说:

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

这可能吗?

我还找到了this thread,但解决方案是针对JBoss ......

1 个答案:

答案 0 :(得分: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();
    }
}