我试图在Netbean平台appliactaions模块中创建一个ejb客户端,以调用glassfish中部署的ejb。
我已经从我的ejb服务器应用程序和所需的glashfish jar中添加了所有必需的jar文件。 appserv-rt.jar,javaee.jar,gf-client.jar。
以下代码在从独立java应用程序调用时工作正常,但是当我尝试从netbeans platfrom应用程序模块调用它时,我无法获取上下文。
是否需要任何netbean平台特定配置?
try {
Properties props = new Properties();
props.setProperty("java.naming.factory.initial",
"com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
props.setProperty("java.naming.factory.state",
"com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl"
);
props.setProperty("org.omg.CORBA.ORBInitialHost", "127.0.0.1");
props.setProperty("org.omg.CORBA.ORBInitialPort","3700");
InitialContext ctx = new InitialContext (props);
MySessionBeanRemote mySessionBean=
(MySessionBeanRemote)ctx
.lookup("sessions.MySessionBeanRemote");
Userprofile user = new Userprofile();
user.setActive('A');
user.setDescription("some desc");
user.setEmail("abc");
user.setFirstname("xyz");
user.setLastname("123");
user.setPassword("pwd");
user.setStatus("Enabled");
user.setUserid(Long.valueOf(25));
user.setUsername("abc");
mySessionBean.persist(user);
} catch (javax.naming.NamingException ne) {
ne.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}