我一直在尋找了一段時間,我無法找到一個解決辦法,問題如下:注入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),然後注入它 –