关于简单的Hello World的EJB部署和运行问题,帮忙?

tanjianhua 2002-09-09 06:25:40
所有的编译和部署都通过了,但最后运行java HelloClient t3://127.0.0.1:7001

运行结果只显示,后面的不显示出来,包括WEBLOGIC SERVER端也不显示:
客户端程序测试开始......


请问大家是什么原因?
...全文
96 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
greenboat 2002-09-09
  • 打赏
  • 举报
回复
try {
client = new HelloClient(url);
} catch (NamingException ne) {
必须由home接口生成ejb对象的引用,不能自己new。

client = home.create();

你先用jbuilder自己生成的testclient程序,运行一下,确信配置没错。
ffffy 2002-09-09
  • 打赏
  • 举报
回复
说明你的try {
client.test();
} catch (Exception e) {
System.exit(1);
}
部分发生了异常,你在看看server中的例子,多调试一下。我想应没什么大的问题。
tanjianhua 2002-09-09
  • 打赏
  • 举报
回复
//本类需要引入的类或接口
import java.rmi.RemoteException;
import java.util.Properties;
import javax.ejb.CreateException;
import javax.ejb.RemoveException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.rmi.PortableRemoteObject;

/**
* 这是EJB的客户端测试程序
*/

public class HelloClient {

private static final String JNDI_NAME = "HelloHome";

private String url;
private HelloHome home;

public HelloClient(String url)
throws NamingException
{

this.url = url;

home = lookupHome();
}

void test()
throws RemoteException,CreateException
{
Hello hello = (Hello) PortableRemoteObject.narrow(home.create(), Hello.class);
System.out.println("I am in client. "+hello.sayHello());
}


/**
* 运行这个实例:
* java HelloClient t3://localhost:7001
*/
public static void main(String[] args) throws Exception {

System.out.println("\n客户端程序测试开始...\n");

String url = "t3://localhost:7001";

// 解析命令行
if (args.length != 1) {
System.out.println("用法: java HelloClient t3://hostname:port");
return;
} else {
url = args[0];
}
HelloClient client = null;
try {
client = new HelloClient(url);
} catch (NamingException ne) {
System.exit(1);
}
try {
client.test();
} catch (Exception e) {
System.exit(1);
}
System.out.println("\n客户端程序测试结束...\n");
}


/**
* 查找 EJB 的主接口
*/
private HelloHome lookupHome()
throws NamingException
{
Context ctx = getInitialContext();
Object home = ctx.lookup(JNDI_NAME);
return (HelloHome) PortableRemoteObject.narrow(home, HelloHome.class);
}

/**
* 使用属性对象获取上下文
*/
private Context getInitialContext() throws NamingException {
Properties h = new Properties();
h.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, url);
return new InitialContext(h);
}
}
wangchq 2002-09-09
  • 打赏
  • 举报
回复
把你的客户端的程序贴出来看看

67,515

社区成员

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

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