java - Glassfish - 在节点之间共享 EJB Web 应用程序

标签 java glassfish ejb glassfish-3

我有一个 glassfish 服务器,在几个不同的节点上部署了几个 EJB war 。我希望其中一个应用程序(部署在 node1 上)对部署在不同节点上的所有应用程序“可见”,以便它们能够从中注入(inject)一些远程 bean。但是,我只允许在整个服务器上拥有此应用程序的一个实例,因此不可能在所有节点上单独部署它。 这种设置在 glassfish 3.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 定义它,并在每个需要它的应用程序中添加这样一个描述符。但是它应该可以工作,而且我不知道有什么更好的方法。

关于java - Glassfish - 在节点之间共享 EJB Web 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27381447/

相关文章:

java - 在 Struts 2 中根据用户设置 cookie

eclipse - 如何使用 Eclipse Helios 3.6 安装 GlassFish 3 服务器适配器

java - 我的 Glassfish 异常报告 HTTP 状态 500 -

java - 不离开的 EJB 异常

security - javax.ejb.EJBAccessException : JBAS013323: Invalid User

java.lang.UnsatisfiedLinkError : Native method not found in Android 错误

java - Spring 安全: redirect logged user depending on some conditions

java - Hibernate 基本示例不起作用

linux - numproc 受限服务器上的 Glassfish

java - EJB @DependsOn 和 CDI 实例不工作