Я использую Weblogic 11g, EJB3.0.
Я пытаюсь выполнить простой поиск из одного развертывания в другое на той же машине. Но никакого успеха.
Это код:
В одном развертывании это целевой класс:
@CallByReference
@Stateless (mappedName = "ejb/SyncOperatorsBean")
@Local ({SyncOperatorsBeanLocal.class})
@Remote ({SyncOperatorsBeanRemote.class})
@JNDIName("ejb/SyncOperatorsBean") //added
public class SyncOperatorsBean implements SyncOperatorsBeanLocal,SyncOperatorsBeanRemote
...
Теперь во втором развертывании я выполняю поиск, чтобы добраться до первого развертывания:
SyncOperatorsBeanRemote SyncOperatorsBean = (SyncOperatorsBeanRemote) context
.lookup("ejb/SyncOperatorsBean#com.mirs.sbngenerate.beans.SyncOperatorsBeanRemote");
SyncOperatorsBean.executeSyncOperation();
Это исключение:
javax.naming.NameNotFoundException: While trying to lookup 'ejb.SyncOperatorsBean#com.mirs.sbngenerate.beans.SyncOperatorsBeanRemote' didn't find subcontext 'SyncOperatorsBean#com'. Resolved 'ejb'; remaining name 'SyncOperatorsBean#com/mirs/sbngenerate/beans/SyncOperatorsBeanRemote'
at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)
Теперь я вижу bean-компонент SyncOperatorsBean в дереве JNDI консоли. Но все же есть вышеуказанное исключение.
Я не могу использовать Injection
, так как вызывающий класс находится вне контейнера (внутри задания кварца).
Любая идея?