防止glassfish独立客户端要求防火墙例外

时间:2014-01-29 14:30:31

标签: java ejb glassfish-3 windows-firewall

上下文:我们正在Glassfish v3.1.2.2上开发一个EJB 3独立应用程序。

问题:从Windows工作站连接到Glassfish时,系统会提示最终用户使用Windows“添加防火墙规则对话框”。

这对我们来说是不可接受的行为。此应用程序将部署在数千个工作站上,我们的最终用户可能拥有或可能没有管理权限,可能会也可能不会理解该对话框。

设置

我们使用Oracle Glassfish 3.1文档here以独立模式运行客户端应用程序。具体来说,我们将 as-install / modules 下的文件复制到客户端,并将 gf-client.jar 添加到类路径中。从下面的屏幕截图中可以看出,一切正常。

思考

  • 客户端应用程序不需要打开ServerSocket(我认为这是触发对话框的原因)
  • 实际上,客户端应用程序不使用ServerSocket(如我在下面发布的简短的selft包含的示例中所示)
  • 每次打开的ServerSocket端口都不同。我通过匹配流程“PIDnetstat -ano的输出来查看此内容,如下所示:

tasklist.exe :

    Image Name                     PID Session Name        Session#    Mem Usage
    ========================= ======== ================ =========== ============
    java.exe                    118692 Console                    7     88.736 K

netstat -ano :

    Proto  Local Address          Foreign Address        State           PID
    TCP    0.0.0.0:52641          0.0.0.0:0              LISTENING       118692

对我来说,这个端口每次都会改变,这似乎很奇怪:请注意,netstat曾经存在一个错误,但它不适用于Windows 7(参见here)无论如何,会出现对话框poppup ,我认为这意味着客户想要 LISTEN

EJB模块在github here上可用,客户端应用程序可用here

add-firewall-exception-popup http://belgian-united-gaming.be/obasi-ssce-gf.png

请告知&谢谢你的帮助。

0 个答案:

没有答案