1

我正在将我的应用程序从 jboss 4.2.2 迁移到 Jboss AS7(7.1.1)。

在之前的实现myapp.war中,myejbImpl_1.jar和myejbImpl_2.jar都部署在jboss_home/server/default/deploy下。所有的依赖罐子都去了 jboss_home/server/default/lib

由于 jboss AS7 支持 moduler 类加载 - 我正在为我的应用程序所依赖的所有 lib 创建一个模块 - 并将它们放在 jboss_as7_home/module/commons/mymodule/main 下

myweb.war 依赖于 myejbImpl_1.jar 和 myejbImpl_2.jar

我已经使用 jboss-ejb-api_3.1_spec-1.0.1.Final.jar 编译了 myweb.war。

现在我在这个 senario 中有一些问题 -

1-我是否应该为所有三个应用程序创建 .ear 应用程序,例如:-

我的时代

-myweb.war
-myejbImpl_1.jar
-myejbImpl_2.jar

有必要吗 ?

2-如果我不创建 .ear 是否应该在部署目录中部署 myejbImpl_1.jar 和 myejbImpl_2.jar ,如 jboss_4.2.2 ?

3- Local( { SomeService.class }) @Remote( { SomeService.class }) @Stateless public class SomeImpl extends SomethingImpl 实现 SomeService

您是否可以在同一个班级中使用@Remote 和@Local,或者我已经经历了广泛的代码更改阶段?

任何帮助将不胜感激。

谢谢。

4

1 回答 1

0

于是我自己找到了答案——

  1. EAR 文件是标准的方法。所以最好将 ejb jars 和 war 文件放在 EAR 文件中
  2. 是的 EJB jars 可以单独部署
  3. 对于@Remote 和@Local,您使用了2 个独立的接口来扩展相同的接口。根据您的需要,您可以使用相同的实现在同一个类上实现远程和本地 - 或为远程和本地创建 2 个单独的实现
于 2013-08-22T15:36:15.990 回答