我已经寻找了一段时间,但是一直没有找到解决方案,问题如下:
- 我有一个使用 EJB3 编写的应用程序部署在 jBoss 6.0 上,并且包含远程 ejb。
- 我有一个使用 JSF 2.0 编写的 Web 应用程序部署在 Tomcat 6.0 上。
我不想在 jBoss 中运行 tomcat Web 应用程序,因为它是在 tomcat 中运行的应用程序,并且架构应该保持不变。
我不想手动查找 EJB(我想注入它),换句话说,我不想这样做:
Properties properties = new Properties();
properties.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
properties.setProperty("java.naming.provider.url", "jnp://localhost:1099");
properties.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
Context c = new InitialContext();
MySB mySB = (MySB) c.lookup("MySB/remote");
我需要的是将jBoss EJB注入到Tomcat应用程序中的托管bean中,例如。
@EJB(name="MySB/remote")
protected MySB mySB;
就像MySB/remote
在Tomcat本地JNDI中一样,但实际上它是从后台的jBoss JNDI查找的。
这是否可能?