请问一个关于在weblogic中调用EJB的问题

xgy_p 2003-07-09 10:08:45
已经在部署好一个名叫ejb2的EJB,文件是ejb2.jar,现在写一个client来调用,但是无论如何都通不过编译,因为找不到home,remote的定义。但我已经调好了classpath为weblogic.jar,是不是编译的时候还需要一个客户端的jar,这个客户端的jar去哪里找?是不是就用ejb2.jar?这个问题困扰了我很久,盼望高手能给我一个明确的答复,能解决者必一百分相送,附我调用的程序如下:

// HelloWorldClient.java

import java.io.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import java.util.Properties;

public class HelloWorldClient
{
private static 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)
{
throw e;
}
}

public static void main(String[] args)
throws Exception
{
Context ctx = getInitialContext();

Object obj=ctx.lookup("ejb2");
HelloHome Home=(HelloHome)javax.rmi.PortableRemoteObject.narrow(obj,HelloHome.class);

Hello hello=Home.create();

System.out.println(hello.hello());


}
}
...全文
42 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
hzhstar 2003-10-24
  • 打赏
  • 举报
回复
我也遇到同样问题:
我已把将remote接口和home接口的.java文件靠到工程文件source目录下,
但ejb包要怎么import呀?
import d:\j\demo.jar,不行呀?
sprail2003 2003-10-24
  • 打赏
  • 举报
回复
我做的时候只把home、remote接口放在测试程序一起,我想不应该把ejb包直接放在客户端,否则远程调用还什么意思
xgy_p 2003-07-09
  • 打赏
  • 举报
回复
哦,我试试先。但是我想问一下。在实际开发中是用哪种方式呢?我觉得EJB的那个JAR包不可能直接拿来用吧,应该是用工具生成EJB客户端的JAR包吧,WEBLOGIC有这种工具吗?
zez 2003-07-09
  • 打赏
  • 举报
回复
简单的,直接把ejb 的jar包拷到你的机子上
略微复杂,只把home接口的类自己打包拷到你自己的机子上
更复杂的,用工具生成ejb客户端jar包... 一般jb之类的都可以...
总之,你的客户端必须要有ejb的home,及其它接口类...
而你的程序,也必须import这些ejb接口 !!!

------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
xgy_p 2003-07-09
  • 打赏
  • 举报
回复
但怎样import呢?ejb包在weblogic server上,我在客户机去哪里找这个包呢?是不是就用那个原先部署所用的jar文件?还是另外怎样生成一个新的jar文件?其实用术语来说就是我上那里找一个stub类?在j2ee server中我知道怎样做,有个return client jar的选项,但在weblogic中我不知道。
hldwinter 2003-07-09
  • 打赏
  • 举报
回复
如果测试的话,直接把home接口和remote接口拷贝到与客户端程序在同一个目录下即可,也可以像楼上说的一样,用import方法
lijing725 2003-07-09
  • 打赏
  • 举报
回复
把你写的ejb的包import出来就可以了
import java.io.*;
import javax.naming.*;
import javax.rmi.PortableRemoteObject;
import java.util.Properties;
import 你的ejb包路径,一般要home接口和remote接口就可以了
fct0906 2003-07-09
  • 打赏
  • 举报
回复
将remote接口和home接口的.java文件靠到你的工程文件source目录下,然后import要用的ejb包即可。

67,512

社区成员

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

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