Я использую 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 TREE консоли.Но все же есть вышеупомянутое исключение.
Я не могу использовать Injection
, поскольку вызывающий класс находится вне контейнера (внутри кварцевого задания).
Есть идеи?