簡體   English   中英

基本的EJB3項目無法正常工作。 NameNotFound異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM