【问题标题】:How do you get the ip address of a remote EJB client in Glassfish?如何在 Glassfish 中获取远程 EJB 客户端的 IP 地址?
【发布时间】:2010-12-03 21:49:19
【问题描述】:

正如标题所说:

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

这可能吗?

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

【问题讨论】:

  • 也许您已经想到了这一点,但作为一种变通方法,您可以提供访问 EJB 的 Web 服务。它可能需要更多的工作,但至少它应该可以让你到达你需要的地方。
  • 如果我找不到更直接的方法,我可能会像这样实现。谢谢。
  • 有点可悲的是,Java API 中没有本地方法可以做到这一点。

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


【解决方案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();
    }
}

【讨论】:

    猜你喜欢
    • 2012-05-10
    • 2016-09-25
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 2012-03-14
    • 2012-02-16
    • 1970-01-01
    相关资源
    最近更新 更多