JiveJdon Community Forums
在线249人 Home | 论坛 | 培训咨询 | 精华 | 查搜 | 注册 | 登陆 |
首页 » 论坛 » J2EE/JavaEE/JEE/EJB/JSF等技术讨论
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表
???en_US.forumThreadNext.name??? 下一主题
这个主题共有 3 回复 / 1 页 [ ]  发表新帖子  回复该主题贴
fishrabbit

发表文章: 1
注册时间: 2007年06月22日 10:47
给他发消息
求助:HELLOWORLD EJB入门部署 折腾了3天了,吐血啊. 发表: 2007年06月22日 10:49 回复
小弟不才,最近在研究EJB.开头的例子HELLOWORLD..看了网上无数例子,总是无法跑通,很多例子本有就有问题.经过3天,终于部署成功,但是无法运行,JNDI出错,实在没有办法了,网上找不到资料,请高手指点下迷途的羔羊.
第一个类:package examples;
import java.rmi.RemoteException;
import javax.ejb.EJBObject;
public interface Hello extends EJBObject {
public String hello() throws RemoteException;
}
第二个类 package examples;
import javax.ejb.SessionContext;
public class HelloBean implements javax.ejb.SessionBean {
private SessionContext ctx;
public void EJBCreate() {
System.out.print("ejbCreate()");
}
public void EJBRemove() {
System.out.print("ejbRemove()");
}
public void EJBActivate() {
System.out.print("ejbActivate()");
}

public void EJBPassivate() {
System.out.print("ejbPassivate");
}
public void setSessionContext(javax.ejb.SessionContext ctx) {
this.ctx = ctx;
}
public String hello() {
System.out.print("hello()");
return "Hello World~!";
}
}
第三个类:package examples;
public interface HelloHome extends javax.ejb.EJBHome{
Hello create()throws java.rmi.RemoteException,javax.ejb.CreateException;
}
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>
<enterprise-beans>
<Session>
<ejb-name>Hello</ejb-name>
<Home>examples.HelloHome</Home>
<Remote>examples.Hello</Remote>
<ejb-class>examples.HelloBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
</Session>
</enterprise-beans>
</ejb-jar>


打包成HelloWorld.jar 放在JBOSS Deploy 文件夹下...然后运行测试文件:

package examples;

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;

public class test {
public static void main(String args[]) throws NamingException, RemoteException, CreateException, RemoveException {

Properties props = new Properties();
props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url","localhost:1099");
props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");

Context ctx = new InitialContext(props);

Object obj = ctx.lookup("HelloHome");

HelloHome Home = (HelloHome) javax.rmi.PortableRemoteObject.narrow(obj,
HelloHome.class);
Hello hello = Home.create();

System.out.print(hello.hello());
hello.remove();
}
}


部署成功了,但是测试一直出错 Exception in thread "main" javax.naming.NameNotFoundException: HelloHome not bound
at org.jnp.server.NamingServer.getBinding(NamingServer.java:529)
at org.jnp.server.NamingServer.getBinding(NamingServer.java:537)
at org.jnp.server.NamingServer.getObject(NamingServer.java:543)
at org.jnp.server.NamingServer.lookup(NamingServer.java:296)




实在是不行了,请坛子的高手们抽几分钟看下....已经痛苦3天了.
JurnZhou

发表文章: 8
注册时间: 2007年06月14日 23:40
给他发消息
re:求助:HELLOWORLD EJB入门部署 折腾了3天了,吐血啊. 发表: 2007年06月22日 18:43 回复
写什么写,找个好的IDE。自动生成,你只要在你需要的地方写代码就行了。
rose

发表文章: 22
注册时间: 2007年06月22日 12:40
给他发消息
re:求助:HELLOWORLD EJB入门部署 折腾了3天了,吐血啊. 发表: 2007年06月23日 15:47 回复
代码看得头晕呀,有那么多代码吗?
就只是输出一个HELLO WORD?
小题大做。你用ECLIPSE,试试,这个工具我经常用,还好。
wenwusoft

发表文章: 3
注册时间: 2007年06月23日 08:55
给他发消息
re:求助:HELLOWORLD EJB入门部署 折腾了3天了,吐血啊. 发表: 2007年06月23日 18:24 回复
默认jndi是<ejb-name>Hello</ejb-name>

Object obj = ctx.lookup("Hello");
这个主题有 3 回复 / 1 页 [ ]
???en_US.forumThreadPrev.name??? 上一主题
Go back to the topic listing   返回主题列表    返回页首  返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Spring Struts
查询本论坛内 回复超过的热门帖子
快速发表回复
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com

anti spam