最近在研究EJB,刚开始使用的是JBoss4.2。JBoss可以满足开发EJB中的绝大部分需求。但是JBoss4.2不支持@EJB注释在 Servelt中的使用。因为JBoss并不是JavaEE5.0规范的完全实现产品。出于好奇,将服务器更换为GlassFish2.1。
网上有些关于如何在GlassFish的Application Client(应用程序客户端)中使用@EJB的文章,但是都是简单的几句:
“appclient -client ejbClient.jar
............................”
(这在《Beginning EJB.3.Application.Development》一书中也是这样,很简略。)
在研究了2天后,终于可以在Application Client(应用程序客户端)中使用@EJB注解了,要求如下:
第一步:EJB模块部署到GlassFish中
第二步:将客户端打包成jar(这是重点)
jar文件必备的要点如下(XXX是您的EJB独立客户端的路径):
1、jar文件必须有Entry Point(即入口),否则:“无法确定XXX中JavaEE模块类型”的错误。
2、jar文件中不能含有EJB模块的实现,否则:“归档文件XXX似乎有效,但应为应用客户机或企业应用程序”。
第三步:在%GlassFish%\bin\下,调用 appclient -client XXX.jar
网上有些关于如何在GlassFish的Application Client(应用程序客户端)中使用@EJB的文章,但是都是简单的几句:
“appclient -client ejbClient.jar
............................”
(这在《Beginning EJB.3.Application.Development》一书中也是这样,很简略。)
在研究了2天后,终于可以在Application Client(应用程序客户端)中使用@EJB注解了,要求如下:
第一步:EJB模块部署到GlassFish中
第二步:将客户端打包成jar(这是重点)
jar文件必备的要点如下(XXX是您的EJB独立客户端的路径):
1、jar文件必须有Entry Point(即入口),否则:“无法确定XXX中JavaEE模块类型”的错误。
2、jar文件中不能含有EJB模块的实现,否则:“归档文件XXX似乎有效,但应为应用客户机或企业应用程序”。
第三步:在%GlassFish%\bin\下,调用 appclient -client XXX.jar