gpt4 book ai didi

java - Wildfly 10 中未找到无状态 Bean 中的 JNDI

转载 作者:行者123 更新时间:2023-12-02 04:44:16 25 4
gpt4 key购买 nike

我使用的是 Wildfly 10。

由于某种原因,我遇到了这样的错误:

javax.naming.NameNotFoundException: ServiceAImpl-- service jboss.naming.context.java.global.ServiceAImpl: javax.naming.NameNotFoundException: ServiceAImpl -- service

我访问jndi的方式:

InitialContext initialContext = new InitialContext();
Context context = (Context) initialContext.lookup("java:global/");
IWorker worker = (IWorker) context.lookup("ServiceAImpl");
worker.createTimer(task);

其余代码:

public interface IWorker{

void createTimer(ExecutableTask aExecutableTask);
}

@Stateless
@Local(IServiceA.class)
public class IServiceAImpl
implements IServiceA {

@Override
public void createTimer(ExecutableTask aExecutableTask) {

System.out.println("I am doing some jobs");
}
}


@Local
public interface IServiceAextends IWorker{


}

我如何才能访问此 IWorker?如何获取这个JNDI?

最佳答案

看看here 。当它启动时,您将在 Wildfly 日志中找到类似的内容。

java:global/<your-project>/bus-facade-fumo/WUFFacade!<your-project>.wuf.WUFFacadeRemote
java:app/bus-facade-<your-project>/WUFFacade!<your-project>.wuf.WUFFacadeRemote
java:module/WUFFacade!<your-project>.wuf.WUFFacadeRemote
java:jboss/exported/<your-project>/bus-facade-<your-project>/WUFFacade!<your-project>.wuf.WUFFacadeRemote
java:global/<your-project>/bus-facade-<your-project>/WUFFacade
java:app/bus-facade-<your-project>/WUFFacade
java:module/WUFFacade

因此您可以在控制台日志中找到您需要的 JNDI,就像上面的示例一样。在你的例子中,你已经快完成了,但是你必须用完整的信息来完成这段代码:

Context context = (Context) initialContext.lookup("java:global/<HereYouNeedMoreInformation>");

关于java - Wildfly 10 中未找到无状态 Bean 中的 JNDI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56496697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com