我是Java EJB 3.0的新手。是否可以从桌面应用程序客户端调用在JBoss上部署的(会话)Bean?

提前致谢。

最佳答案

是的你可以。这里有一些细节(引用EJB2,但是对于远程客户端来说,它与EJB3相同):http://www.theserverside.com/discussions/thread.tss?thread_id=9197

释义:

Hashtable env = new Hashtable();
env.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
env.put("java.naming.provider.url", "jnp://localhost:1099");
env.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
Context ctx = new InitialContext(env);
// name is whatever JNDI name you gave it
Object o = ctx.lookup("home name");
EJBHome ejbHome = (EJBHome) PortableRemoteObject.narrow(o,EJBHome.class);
// This is userID should be the one passed.
EJB ejb = ejbHome.create(..);

07-25 22:55