JNDI в Stateless Bean не найден в Wildfly 10 - PullRequest
0 голосов
/ 07 июня 2019

Я использую 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?

1 Ответ

0 голосов
/ 10 июня 2019

Взгляните здесь .Когда вы начнете, вы найдете что-то похожее в журналах 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>");

...