[英]EJB remote JNDI binding on weblogic
I have a simple remote interface: 我有一个简单的远程接口:
@Remote
public interface MainDaoEJBRemote {
void sayHelloRemote();
}
And I have a Stateless
EJB that implements my interface: 我有一个实现我的界面的
Stateless
EJB:
@Stateless(mappedName = "MainDaoEJB")
@Remote
public class MainDaoEJB implements MainDaoEJBRemote {
@Override
public void sayHelloRemote() {
System.out.println("remote invoked...");
}
}
I have deployed it to a weblogic
server. 我已将其部署到
weblogic
服务器。
I have a ManagedBean
and I'm trying to lookup for the remote EJB
This is my lookup part: 我有一个
ManagedBean
,我正在尝试查找远程EJB
这是我的查找部分:
public void sayHello() throws NamingException {
System.out.println("invoked...");
Hashtable env = new Hashtable();
env.put("java.naming.factory.initial",
"weblogic.jndi.WLInitialContextFactory");
env.put("java.naming.provider.url", "t3://127.0.0.1:7001");
env.put("java.naming.security.principal", "user");
env.put("java.naming.security.credentials", "pass");
Context ctx = new InitialContext(env);
try {
MainDaoEJBRemote mainDaoEJB
= (MainDaoEJBRemote) ctx.lookup("MainDaoEJB");
System.out.println("invoked... " + mainDaoEJB.toString());
mainDaoEJB.sayHelloRemote();
} catch (NamingException e) {
System.out.println("NamingException: " + e.getMessage());
} finally {
try {
ctx.close();
} catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
}
}
}
When i try to invoked my sayHello()
method at the managedBean it throws NamingException
: Unable to resolve 'MainDaoEJB'. 当我尝试在managedBean上调用
sayHello()
方法时,它会抛出NamingException
:无法解析'MainDaoEJB'。 Resolved '' 解决 ''
Can you tell me how to look up my remote EJB
properly? 你能告诉我如何正确查找我的远程
EJB
吗? Should I set up the JNDI
name of my EJB
? 我应该设置
EJB
的JNDI
名称吗?
For remote lookup on WebLogic you should use JNDI name MainDaoEJB#<package>.MainDaoEJBRemote
对于WebLogic上的远程查找,您应该使用JNDI名称
MainDaoEJB#<package>.MainDaoEJBRemote
MainDaoEJBRemote mainDaoEJB
= (MainDaoEJBRemote) ctx.lookup("MainDaoEJB#<package>.MainDaoEJBRemote")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.