我一直在寻找了一段时间,我无法找到一个解决办法,问题如下:注入JBOSS EJB到JSF 2.0托管bean在Tomcat Web应用程序运行
- 我有一个部署在jBoss 6.0中的EJB3应用程序,带有远程ejb。
- 我有一个在Tomcat 6.0中部署的Web应用程序(JSF 2.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查找幕后。
是可能的吗?
例如,如果EJB的jboss下,它的jnp地址是jnp:// localhost:1099我应该在tomcat中配置它? –
将远程EJB定义为资源(请参阅http://docs.jboss.org/weld/reference/1.0.0/en-US/html/resources.html#d0e4373),然后注入它 –