EJB发布,帮我一把

Tiack 2004-03-19 09:44:01
用J2EE来发布一个简单EJB,功能很简单,但老是在Client程序上出错:
InitialContext init = new InitialContext();
Object homeObject = init.lookup("JNDIName");
TextHome home = (TextHome)PortableRemoteObject.narrow(homeObject, TextHome.class);
在此就出错了.
javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an aplication resource file: java.naming.factory.initial.....还有好多
可是我将client jar文件放在classpath中了,为什么还会出这错,晕...

----------------------------------------
...全文
32 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouhaifang 2004-03-23
  • 打赏
  • 举报
回复
有需要J2EE资料的吗?请访问我的网站http://softtrade.vicp.net 资料下载 目录下载资料
内容:
精通EJB2
EJB-CMP-CMR
J2EE_BlueprintsDigest
JMS
jAVA-jms
ejb资料
实战EJB
J2EE and XML
Enterprise Java Bean
yangjun2 2004-03-23
  • 打赏
  • 举报
回复
可以在服务器的控制台,看jndi数就知道是否已经绑定了.
Leemaasn 2004-03-23
  • 打赏
  • 举报
回复
搞定没?

我都急了。。。
zeros 2004-03-23
  • 打赏
  • 举报
回复
“InitialContext init = new InitialContext();”你这句不对,EJB在查找JNDI的时候需要先得到你的应用服务器的一些信息,你这样new根本没把应用服务器的信息告诉你的程序,你的程序又怎么知道该去哪找("JNDIName")这个名字呢?

下面是我在用weblogic时得到环境的一个方法,你可以参考看看!


private Context getInitialContext() throws Exception {
String url = "t3://localhost:7001";
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;
}
}
Tiack 2004-03-23
  • 打赏
  • 举报
回复
其实你们没有给我正确的,或可用的答案。
atwinter 2004-03-19
  • 打赏
  • 举报
回复
你用的是那个平台啊!各个平台的方法都不一样啊
Tiack 2004-03-19
  • 打赏
  • 举报
回复
j2ee中,晕啊
duan123 2004-03-19
  • 打赏
  • 举报
回复
Context ctx = new InitialContext();
feiyuwen 2004-03-19
  • 打赏
  • 举报
回复
在client 加上porps 设置
制定好CLASSPATH
你在什么容器里面发布的?
Tiack 2004-03-19
  • 打赏
  • 举报
回复
我是个初学者,能不能再说清楚点,谢了
hesi726 2004-03-19
  • 打赏
  • 举报
回复
要指定一个 url,以及另外一个属性的!

Property props = new Property();
.....
InitialContext init = new InitialContext(props);
Tiack 2004-03-19
  • 打赏
  • 举报
回复
执行时不在jb下,也不是用jb开发的,?!
ezdiesoe22 2004-03-19
  • 打赏
  • 举报
回复
看错误应该是初始化的时候就出错了,你要在jb里面设置ejb的jndi名的。
wwwlll2001 2004-03-19
  • 打赏
  • 举报
回复
我还。。

你的EJB正确部署了吗

是HOME 的还REMOTE的

如果是REMOTE的,你lookup之前,指定了协议吗??
Tiack 2004-03-19
  • 打赏
  • 举报
回复
还是不行啊,晕,帮我一下,我将另外给分的。

67,513

社区成员

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

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