[英]Basic EJB3 project doesn't work. NameNotFound Exception
服務器端包含唯一的接口,並且對@Remote
和@Stateless
注釋。
已成功在WildFly上運行,我可以從WildFly控制台看到已部署的bean。
對於我來說,uri暗示了JNDI綁定:
java:app/server_ejb/DeployBean!interfaces.Deploy
但是我無法連接到這個!
所以我的客戶是:
初始上下文屬性:
Context.INITIAL_CONTEXT_FACTORY=org.jboss.naming.remote.client.InitialContextFactory
Context.PROVIDER_URL=http-remoting://localhost:8080
客戶:
Properties props = new Properties(...);
InitialContext ctx = new InitialContext(props);
Deploy bean = (Deploy) ctx.lookup("java:app/server_ejb/DeployBean!interfaces.Deploy");
bean.sayHi();
我有一個例外:
INFO: JBoss Remoting version (unknown)
Exception in thread "main" javax.naming.NameNotFoundException: app/server_ejb/DeployBean!interfaces.Deploy -- service jboss.naming.context.java.jboss.exported.app.server_ejb."DeployBean!interfaces.Deploy"
at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:104)
跆拳道? :(
在Wildfly中,要遠程訪問EJB,請使用ejb:名稱空間,其語法如下:
對於無狀態豆:
ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface>
對於有狀態的bean:
ejb:<app-name>/<module-name>/<distinct-name>/<bean-name>!<fully-qualified-classname-of-the-remote-interface>?stateful
另請參閱: 使用JNDI從遠程客戶端進行EJB調用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.