菜鸟求助:一个BMP的问题

luoyewuhen 2003-08-21 03:53:07
ctx = new InitialContext();
Object obj = ctx.lookup("TestBMPRemoteHome");

程序在第二句就产生异常了,报错信息是:javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial
描述文件:- <entity>
<display-name>TestBMP</display-name>
<ejb-name>TestBMP</ejb-name>
<home>test.TestBMPRemoteHome</home>
<remote>test.TestBMPRemote</remote>
<ejb-class>test.TestBMPBean</ejb-class>
<persistence-type>Bean</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
</entity>

请教大虾错在哪里,只点小弟一二


...全文
43 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
drnstar 2003-08-22
  • 打赏
  • 举报
回复
我使用的是jbuilder+weblogic
<ejb-name>TestBMP</ejb-name> 中定义的好像就是jndi的调用名字
我的客户端是这样写的
private Context getInitialContext() throws Exception {
String url = "t3://star:7001";//star是我的本机名
String user = null;
String password = null;
Properties properties = null;
try {
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, url);
if (user != null) {
properties.put(Context.SECURITY_PRINCIPAL, user);
properties.put(Context.SECURITY_CREDENTIALS,
password == null ? "" : password);
}

return new InitialContext(properties);
}
catch (Exception e) {
log("Unable to connect to WebLogic server at " + url);
log("Please make sure that the server is running.");
throw e;
}
}

调用部分为
Context context = getInitialContext();

//look up jndi name
Object ref = context.lookup("testbmp");
//look up jndi name and cast to Home interface
别问我为什么这样写,这些都是jbuilder自动生成的,很好用
luoyewuhen 2003-08-22
  • 打赏
  • 举报
回复
搞了两天,我也不知道怎么回事,就搞好了,实际上我现在看我的代码跟昨天的代码,也没看出区别!不明白,不过这两天为了解决这个问题,倒是闹明白了一些ejb的运行机制,收获不小!感谢各位大虾指点!
luoyewuhen 2003-08-21
  • 打赏
  • 举报
回复
确实是应用程序的形式,“TestBMP”这个类根本就不存在,一共只有三个类:TestBMPRemote、TestBMPRemoteBean、TestBMPRemoteHome
我也试过 Object obj = ctx.lookup("TestBMPRemote");也报同样的错误信息!
to:drnstar(),你遇到同样的问题后是怎么样解决的?

drnstar 2003-08-21
  • 打赏
  • 举报
回复
还有就是应该是
Object obj = ctx.lookup("TestBMP");
drnstar 2003-08-21
  • 打赏
  • 举报
回复
我遇到和你类似的情况 ,我想这句是客户端的测试程序吧,是不是使用 应用程序的形式?
CNSC 2003-08-21
  • 打赏
  • 举报
回复
应该是:
ctx = new InitialContext();
Object obj = ctx.lookup("TestBMPRemote");

67,512

社区成员

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

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