我有一个glassfish服务器,在几个不同的节点上部署了几个EJB战争。我希望其中一个应用程序(部署在node1上)对部署在不同节点上的所有应用程序“可见”,以便它们能够从中注入一些远程bean。但是,我只允许为wole服务器提供此应用程序的一个实例,因此无法在所有节点上单独部署它。 这种设置在glassfish 3.1中是否可行?
答案 0 :(得分:1)
这可以通过部署描述符实现:
https://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#cross-appserverremoteref
在你的sun-web.xml(或者glassfish-web.xml,两者都适用于这种情况)定义ejb-ref
如下:
<ejb-ref>
<ejb-ref-name>fooejbref</ejb-ref-name>
<jndi-name>corbaname:iiop:node_name:node_IIOP_port#foo.bar.YourEJBRemote</jndi-name>
</ejb-ref>
这不太方便 - 您需要为每个需要的远程bean定义它,并在每个需要它的应用程序中添加这样的描述符。它应该有效,我不知道有什么更好的方法。