weblogic为ejb容器,调用ejb模块,出现名称空间不正确问题

04-08-23 ricky
在test.java中去调用ejb模块的时候:

、、、

InitialContext ctx=new InitialContext();

Object objRef = ctx.lookup("java:comp/env/Hello"); ---在此处出现异常

、、、

具体出错信息如下

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

at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:640)

at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)

at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:280)

at javax.naming.InitialContext.lookup(InitialContext.java:347)

at Test.main(Test.java:9)

说明:

1.使用weblogic做为ejb容器

2.我把Hello.jar拷贝到、、\user_projects\mydomain\applications 下面了

3.启动weblogic时候没有任何异常,所以就假定ejb模块--Hello.jar没有问题,ejb-jar.xml假定也没有问题

ejb-jar.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN"

"http://java.sun.com/dtd/ejb-jar_2_0.dtd">

<ejb-jar>

<description>

This is Hello EJB example

</description>

<display-name>HelloBean</display-name>

<enterprise-beans>

<session>

<display-name>Hello</display-name>

<ejb-name>Hello</ejb-name>

<home>HelloHome</home>

<remote>Hello</remote>

<ejb-class>HelloEJB</ejb-class>

<session-type>Stateless</session-type>

<transaction-type>Container</transaction-type>

</session>

</enterprise-beans>

</ejb-jar>

下面是weblogic启动时候的信息,显然该包已经被load了

<2004-8-23 下午03时53分27秒> <Notice> <Application Poller> <149400> <Activating

application: _appsdir_Hello_jar>

<2004-8-23 下午03时53分27秒> <Notice> <Application Poller> <149404> <Activate ap

plication _appsdir_Hello_jar on rickyserver - Running>

<2004-8-23 下午03时53分29秒> <Notice> <Application Poller> <149404> <Activate ap

plication _appsdir_Hello_jar on rickyserver - Completed>

请教:

Object objRef = ctx.lookup("java:comp/env/Hello"); 这句到底如何写?或者是否还需要配置weblogic的什么文件吗?

ricky
2004-08-23 17:10
ejb-jar.xml的内容怎么贴不上去阿

猜你喜欢