这样调用EJB出错了,那位大哥给看一下

bin127 2004-03-11 12:30:25
package com.EJB.TEST;

import java.rmi.RemoteException;
import java.util.Hashtable;

import javax.ejb.CreateException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
public class HelloClient {
////远程接口
private com.EJB.TEST.HelloEJBHome getHome() throws NamingException {
return (com.EJB.TEST.HelloEJBHome) getContext().lookup(
com.EJB.TEST.HelloEJBHome.JNDI_NAME);
}
////本地接口
private com.EJB.TEST.HelloEJBLocalHome getLocalHome() throws NamingException {
return (com.EJB.TEST.HelloEJBLocalHome) getContext().lookup(
com.EJB.TEST.HelloEJBLocalHome.JNDI_NAME);
}
private InitialContext getContext() throws NamingException {
Hashtable props = new Hashtable();

props.put(
InitialContext.INITIAL_CONTEXT_FACTORY,
"org.jnp.interfaces.NamingContextFactory");
props.put(InitialContext.PROVIDER_URL, "jnp://127.0.0.1:1099");

// This establishes the security for authorization/authentication
// props.put(InitialContext.SECURITY_PRINCIPAL,"username");
// props.put(InitialContext.SECURITY_CREDENTIALS,"password");

InitialContext initialContext = new InitialContext(props);
return initialContext;
}
public void testBean() {

try {
com.EJB.TEST.HelloEJB myBean = getHome().create();
com.EJB.TEST.HelloEJBLocal myLbean = getLocalHome().create();
//--------------------------------------
//This is the place you make your calls.
System.out.println(myBean.getHello());
System.out.println(myLbean.getTest());

} catch (RemoteException e) {
e.printStackTrace();
} catch (CreateException e) {
e.printStackTrace();
} catch (NamingException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
HelloClient test = new HelloClient();
test.testBean();
}
}
...全文
20 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧