当前位置: 技术问答>java相关
求救!非常简单的EJB发布
来源: 互联网 发布时间:2017-03-30
本文导语: 我用JB7和Weblogic7出次编写了HelloWord无状态会话Bean,也部署到Weblogic上,利用JB7生成了客户端程序,在客户端程序的Main方法中写了如下几句代码: try{ Properties pros=System.getProperties(); Context ctx=new In...
我用JB7和Weblogic7出次编写了HelloWord无状态会话Bean,也部署到Weblogic上,利用JB7生成了客户端程序,在客户端程序的Main方法中写了如下几句代码:
try{
Properties pros=System.getProperties();
Context ctx=new InitialContext(pros);
HelloHome Home=(HelloHome)ctx.lookup("Helloworld");
Hello hello=Home.create();
System.out.println("Hello,World");
hello.remove();
}
catch(Exception e){
e.printStackTrace();
但是在JB7下Run时,报如下错误:
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:643)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:283)-- Succeeded initializing bean access.
-- Execution time: 2133 ms.
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at ejb.HelloClient.main(HelloClient.java:176)
不知是什么原因!哪位高手指点指点!难道还要在环境变量中写什么?
try{
Properties pros=System.getProperties();
Context ctx=new InitialContext(pros);
HelloHome Home=(HelloHome)ctx.lookup("Helloworld");
Hello hello=Home.create();
System.out.println("Hello,World");
hello.remove();
}
catch(Exception e){
e.printStackTrace();
但是在JB7下Run时,报如下错误:
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:643)
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:246)
at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:283)-- Succeeded initializing bean access.
-- Execution time: 2133 ms.
at javax.naming.InitialContext.lookup(InitialContext.java:350)
at ejb.HelloClient.main(HelloClient.java:176)
不知是什么原因!哪位高手指点指点!难道还要在环境变量中写什么?
|
看j2ee tutorial.
|
Properties pros=System.getProperties();
看看得到的属性到底是什么?
看看得到的属性到底是什么?
|
这种方式需要在运行的时候给出参数的,如果是命令行的话就可以输入参数。
你可以在程序中用如下的方法来就可以了:
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://servername:7001");
ctx=new InitialContext(ht);
把Properties pros=System.getProperties();去掉
然后就应该可以了,其中servername应该是装weblogic的机器名,如果是在本地就是你自己的机器名,可以用localhost代替,也可以用机器的IP.
你可以在程序中用如下的方法来就可以了:
Hashtable ht = new Hashtable();
ht.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
ht.put(Context.PROVIDER_URL,"t3://servername:7001");
ctx=new InitialContext(ht);
把Properties pros=System.getProperties();去掉
然后就应该可以了,其中servername应该是装weblogic的机器名,如果是在本地就是你自己的机器名,可以用localhost代替,也可以用机器的IP.
|
同意