我也是刚开始学的,用的也是JBOSS,我是按下面的步骤做的EJB打包
我们需要将以上文件编译的CLASS文件打成一个JAR包,部署到JBOSS中,才能调用ExampleClient执行测试。此jar包可以是任何名字,这里把它命名为myfirst.jar。 按照以上文件的包路径,在正常编译后会形成一examples目录,下面存放各class文件。在和examples同级目录中,还需建立一META-INF目录,里面将放置部署EJB所需要的各种配置文件。 在META-INF下,我们需要有两个文件ejb-jar.xml和jboss-service.xml。ejb-jar.xml文件里将包括EJB的各种关键信息,而jboss-service.xml则包括EJB部署在JNDI上的一些关键信息。一般网上资料介绍中只会介绍ejb-jar.xml文件,但对于JNDI部署就几乎没有,有的也是从jboss2.4.4那边继承过来的,名称为jboss.xml,但是在jboss3.0.4中,它不会承认这个名字的,只认得jboss-service.xml。 ejb-jar.xml文件内容如下:<?xml version="1.0" encoding="UTF-8"?><ejb-jar> <description>Your first EJB application </description> <display-name>JUST A TEST</display-name> <enterprise-beans> <session> <ejb-name>Example</ejb-name> <home>examples.ExampleHome</home> <remote>examples.Example</remote> <local-home>examples.ExampleLocalHome</local-home> <local>examples.ExampleLocal</local> <ejb-class>examples.ExampleBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans></ejb-jar>里面列出了EJB的名称以及各接口和BEAN的类路径和类名。Jboss-service.xml内容如下:<?xml version="1.0" encoding="ISO-8859-1"?><jboss> <enterprise-beans> <session> <ejb-name>Example</ejb-name> <jndi-name>Example</jndi-name> </session> <secure>true</secure> </enterprise-beans> <resource-managers/></jboss>里面列出了EJB的名字和JNDI中该EJB的位置名称,这对于多个EJB的部署十分重要的。有了这些目录和文件,就可以将其打包了。在examples和META-INF同级目录中,运行命令:jar cvf myfirst.jar examples/*.class META-INF/*.xml执行完毕,我们就有了一个myfirst.jar包,里面包括了目录examples和META-INF以及在相应目录下的class和xml文件。至此,我们已经形成了一个可以在不同EJB容器下执行的EJB JAR包了,下面要讲述的是在jboss3.0.4中如何具体部署我们的myfirst.jar。EJB在jboss3.0.4中的部署
只要写好了ejb-jar.xml和jboss-service.xml,在jboss3.0.4中部署EJB是很简单的了。 不同的启动jboss模式,就将该jar文件放入对应的目录中。例如:我们用run –c all命令启动,则就将myfirst.jar放入server目录下的all\deploy目录下,则此时,运行中的JBOSS会自动识别并根据jar中的META-INF\*.xml自动部署它。 则EJB的部署就完成了。EJB的运行
我们运行ExampleClient来检验我们EJB程序。 在编译ExampleClient.java时, CLASSPATH需要引入jboss目录client下的jar文件,才能编译成功并正常运行。 运行ExampleClient,在客户端会出现: start ejb client testJust a simple example!而在服务端,则会出现类似如下语句:13:35:31,250 INFO [STDOUT] setSessionContext13:35:31,250 INFO [STDOUT] ejbCreate13:35:31,250 INFO [STDOUT] example() 证明我们的EJB在jboss3.0.4下成功运行!
我们需要将以上文件编译的CLASS文件打成一个JAR包,部署到JBOSS中,才能调用ExampleClient执行测试。此jar包可以是任何名字,这里把它命名为myfirst.jar。 按照以上文件的包路径,在正常编译后会形成一examples目录,下面存放各class文件。在和examples同级目录中,还需建立一META-INF目录,里面将放置部署EJB所需要的各种配置文件。 在META-INF下,我们需要有两个文件ejb-jar.xml和jboss-service.xml。ejb-jar.xml文件里将包括EJB的各种关键信息,而jboss-service.xml则包括EJB部署在JNDI上的一些关键信息。一般网上资料介绍中只会介绍ejb-jar.xml文件,但对于JNDI部署就几乎没有,有的也是从jboss2.4.4那边继承过来的,名称为jboss.xml,但是在jboss3.0.4中,它不会承认这个名字的,只认得jboss-service.xml。 ejb-jar.xml文件内容如下:<?xml version="1.0" encoding="UTF-8"?><ejb-jar> <description>Your first EJB application </description> <display-name>JUST A TEST</display-name> <enterprise-beans> <session> <ejb-name>Example</ejb-name> <home>examples.ExampleHome</home> <remote>examples.Example</remote> <local-home>examples.ExampleLocalHome</local-home> <local>examples.ExampleLocal</local> <ejb-class>examples.ExampleBean</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session> </enterprise-beans></ejb-jar>里面列出了EJB的名称以及各接口和BEAN的类路径和类名。Jboss-service.xml内容如下:<?xml version="1.0" encoding="ISO-8859-1"?><jboss> <enterprise-beans> <session> <ejb-name>Example</ejb-name> <jndi-name>Example</jndi-name> </session> <secure>true</secure> </enterprise-beans> <resource-managers/></jboss>里面列出了EJB的名字和JNDI中该EJB的位置名称,这对于多个EJB的部署十分重要的。有了这些目录和文件,就可以将其打包了。在examples和META-INF同级目录中,运行命令:jar cvf myfirst.jar examples/*.class META-INF/*.xml执行完毕,我们就有了一个myfirst.jar包,里面包括了目录examples和META-INF以及在相应目录下的class和xml文件。至此,我们已经形成了一个可以在不同EJB容器下执行的EJB JAR包了,下面要讲述的是在jboss3.0.4中如何具体部署我们的myfirst.jar。EJB在jboss3.0.4中的部署
只要写好了ejb-jar.xml和jboss-service.xml,在jboss3.0.4中部署EJB是很简单的了。 不同的启动jboss模式,就将该jar文件放入对应的目录中。例如:我们用run –c all命令启动,则就将myfirst.jar放入server目录下的all\deploy目录下,则此时,运行中的JBOSS会自动识别并根据jar中的META-INF\*.xml自动部署它。 则EJB的部署就完成了。EJB的运行
我们运行ExampleClient来检验我们EJB程序。 在编译ExampleClient.java时, CLASSPATH需要引入jboss目录client下的jar文件,才能编译成功并正常运行。 运行ExampleClient,在客户端会出现: start ejb client testJust a simple example!而在服务端,则会出现类似如下语句:13:35:31,250 INFO [STDOUT] setSessionContext13:35:31,250 INFO [STDOUT] ejbCreate13:35:31,250 INFO [STDOUT] example() 证明我们的EJB在jboss3.0.4下成功运行!
解决方案 »
- hibernate怎么实现复制保存的功能?
- 空指针异常
- java新特性
- 为什么我用<bean:write name="userName" scope="request" />显示request里的值时会出现如下错误?
- 谁帮我看看 这个JAVABEAN 是什么问题 谢谢 急需要
- $用struts一段时间了后改到了webwork近1年,这个版块还是集中在struts上,挖墙角写webwork例子$
- list在ww:iterator标签里取不到size,在外面就可以取到
- Hibernate一般是写在那层的?
- 不用ejb行吗?有顶有分
- 请教一个包装成EJB JAR文件的问题。
- jboss4.04问题:在控制台的左边applet显示不出
- 急,一个关于模糊查询的问题,求高手指教啊.(在线等待)
我上面照做了.可是这点我不太明白.在那里运行ExampleClient.客户端,服务端.是什么意思呀.jboss不就是运行就可以了吗?怎么还那么复杂呀.能否在具体以下呀.我不太明白.谢了