问题标签 [ejb-jar.xml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2699 浏览

annotations - TomEE Plus 似乎在应用程序大战中找不到“ejb-jar.xml”

我的主要目标是将为 WebSphere 编写的 EJB 2.x 应用程序迁移到可部署到 Tomcat 服务器的 Web 应用程序。但我希望这几乎是一对一的迁移。

所以我设置了一个 TomEE (apache-tomee-plus-1.0.0) 并将子目录 '/apps' 的配置保留为部署目录。

当我将“*.war”文件放入“/apps”目录时,OpenEJB 成功解压缩存档并加载它。但是我在日志中没有看到 EJB 加载。我认为 OpenEJB 忽略了“/apps/BdbWeb/META-INF”中的“ejb-jar.xml”。

日志片段:

当我向Java 类添加至少一个注释(例如@Remote 或@Stateful)时,我会看到相应的日志条目。于是 OpenEJB 找到了 Annotations。

但是有很多类和一个很大的 ejb-jar.xml 文件!我想避免手动为每个类添加正确的注释......!所以我希望你能帮助我找到错误。

也许是结构问题?我在war文件中有以下结构:

  • BdbWeb.war
    • 页面
      • *.jsp
    • 图片
      • *.jpg
    • 元信息
      • ejb-jar.xml
      • 清单文件
      • openejb-jar.xml(手工创建;希望这会有所帮助 - 但事实并非如此)
    • 样式表
      • *.css
    • 网络信息
      • 班级
          • 包含类的目录
        • log4j.xml
        • 休眠.cfg.xml
        • *。罐
      • web.xml
    • 索引.jsp

我已经将openejb.servicemanager.enabled'system.properties' 文件中的属性 设置为,true但这仅生成了一个没有实体或 bean 条目的 xml 文件。

我该怎么做才能获得 OpenEJB 使用的给定 ejb-jar.xml?

顺便说一句:自己创建的“openejb-jar.xml”真的有必要吗……?

0 投票
1 回答
3023 浏览

xml - 使用在同一个 ejb-jar.xml

我正在尝试将消息驱动 bean 添加到我现有的 Java EE 应用程序中。我正在修改我的部署描述符 ejb-jar.xml。我的 ejb-jar.xml 看起来像这样。

当我尝试在 websphere 上部署我的应用程序时,它给了我以下错误。

在玩了几天的 xml 文件后,我发现,当我删除上面 ejb-jar 元素中给出的命名空间时,message-driven-destination 被正确翻译,但元素失败,并出现相同的 Child translate not found 错误。

所以我相信这是一个命名空间冲突问题。如果有人可以帮助我解决这个问题,我很感激。

提前致谢。

0 投票
1 回答
1091 浏览

java - ejb-jar.xml env-entry 枚举

这是我的 ejb-jar.xml:

部署后,我得到这个异常:

org.xml.sax.SAXParseException;行号:23;列号:85;存档 [localgp-web-1.0-SNAPSHOT] 中的部署描述符文件 WEB-INF/ejb-jar.xml。cvc-enumeration-valid:值 'org.codemonkey.simplejavamail.TransportStrategy' 对于枚举 '[java.lang.Boolean, java.lang.Byte, java.lang.Character, java.lang.String 不是 facet-valid , java.lang.Short, java.lang.Integer, java.lang.Long, java.lang.Float, java.lang.Double]'。它必须是来自枚举的值。

这似乎表明,尽管有文档,但不允许使用枚举。还是发生了其他我可能会错过的事情?

0 投票
1 回答
554 浏览

java-ee-6 - 找出使用了什么 EJB 视图

假设我有一个定义两个视图的 EJB:

  • 当地的商业,
  • 远程业务。

两个接口共享相同的方法签名,所以就像:

有没有办法找出从 EJB 本身(或其拦截器?)中调用的 EJB 视图

假设我想根据使用的视图执行不同的授权程序。远程应该受到更多限制,而本地不应该。

我可以调用SessionContext#getInvokedBusinessInterface(),但这只会给我关于类对象的信息——而不是关于它的 EJB 语义。显然使用反射来检查接口或 bean 上的注释存在是不够的(在 中定义的视图ejb-jar.xml呢?)

我怀疑是否有可能使用直接的 EJB 规范,但也许我错过了一些东西。

如果没有,是否有可能从应用程序服务器内部获取此信息?(我们只考虑 JBoss AS 7.x、Glassfish 3.x 和 TomEE 1.5.1)。

0 投票
1 回答
832 浏览

java - 使用带有注释的 GlassFish 上的 GenericJMSRA 部署 MDB?

在 GlassFish Server 2.1 上,我创建了一个用于与 ActiveMQ 连接的 GenericJMSRA,如本指南中所述:http: //activemq.apache.org/sjsas-with-genericjmsra.html

我已经成功地使用 ejb-jar.xml 注入上下文的经典方式来部署 MDB:

和 sun-ejb-jar.xml

我将如何继续以注释驱动的 EJB 3.0 样式注入上述配置?更具体地说,我不知道如何注入以下属性:

0 投票
1 回答
2052 浏览

glassfish-3 - 使用 ejb-jar.xml 配置消息驱动 Bean

我正在尝试使用 ejb-jar 配置消息驱动 Bean。我正在使用 EJB 3.1、Netbeans 7.3 和 Glassfish 3.1.2,但我遇到了异常:

部署应用程序时出现异常:org.xml.sax.SAXParseException;行号:8;列号:29;档案 [类] 中的部署描述符文件 META-INF/ejb-jar.xml。必须声明元素类型“messaging-type”。有关详细信息,请参阅 server.log。

我在哪里犯错?

0 投票
2 回答
2089 浏览

jakarta-ee - 在 WAR 文件中部署时,ejb-jar.xml 中的 env-entry 未注入 @Resource

我有一个依赖于 EJB 项目的 Maven Web 应用程序。

在 EJB 项目中,我添加了env-entry一个ejb-jar.xml

我已经使用 arquillian 测试了 EJB 项目,并且可以使用以下方法注入此值@Resource :@Resource(name = "configFileLocation") private String configFile;

现在,当我使用 ejb 依赖项构建 .war 时,我会在我的 EJB 项目中获得一个 .war 作为 .jar inside WEB-INF\lib。在这个 EJB 项目中(即在 .jar 中),该ejb-jar.xml文件位于正确的 META-INF目录中。

但是现在,当我部署到服务器时,@Resource注入永远不会起作用。String总是null。_ 根据我所阅读的内容,我ejb-jar.xml在 EJB 项目和 maven 生成的 .war 中都有正确的位置。

有人会知道我的配置不正确吗?

谢谢!

编辑:

将会话元素修改为

0 投票
0 回答
3327 浏览

ejb - 发布到 Weblogic Server 11gR1 时出错

我收到以下错误。这是什么意思以及如何解决?

谢谢您的帮助。

0 投票
1 回答
2356 浏览

jakarta-ee - ejb-jar.xml 中缺少值

当尝试在 glassfish 4.0(使用 netbeans 7.3.1)中部署 mavenized 企业应用程序(包括 war 和 jar 项目)时,我遇到了与此问题类似的问题,即 jar 无效,因为它包含零 ejb(其中不正确,因为我的应用程序 jar 包含 4 个实体类及其对应的会话 bean 和本地接口)。由于该帖子中的解决方案是添加 ejb-jar.xml 然后我通过添加我的部署描述符来做同样的事情,如下所示:

所以我得到了以下异常,说部署应用程序时发生此异常,ejb-jar.xml 具有无效内容,并且其中一个值“{” http://java.sun.com/xml/ns/javaee ":interceptors, " http://java.sun.com/xml/ns/javaee ":relationships, " http://java.sun.com/xml/ns/javaee ":assembly-descriptor, " http:// /java.sun.com/xml/ns/javaee ":ejb-client-jar}' 是预期的(对我来说它是法语的,我找不到改变在 netbeans 中记录 glassfish 的方法)

Grave: Exception lors du déploiement de l'application [tunmecanique-ear-1.0-SNAPSHOT] : org.xml.sax.SAXParseException; 行号:16;列号:24;Fichier descripteur de déploiement META-INF/ejb-jar.xml dans l'archive [tunmecanique-ejb-1.0-SNAPSHOT_jar]。cvc-complex-type.2.4.a : Contenu non valide trouvé à partir de l'élément 'enterprise-beans'。L'une des valeurs ' { " http://java.sun.com/xml/ns/javaee":interceptors,"http://java.sun.com/xml/ns/javaee":relationships,"http : //java.sun.com/xml/ns/javaee ":assembly-descriptor, " http://java.sun.com/xml/ns/javaee":ejb-client-jar}' est 出席。org.xml.sax.SAXParseException; lineNumber: 16; columnNumber: 24; Fichier de descripteur de déploiement META-INF/ejb-jar.xml dans l'archive [tunmecanique-ejb -1.0-SNAPSHOT_jar].cvc-complex-type.2.4.a : Contenu non valide trouvé à partir de l'élément 'enterprise-beans'.L'une des valeurs '{" http://java.sun.com/ xml/ns/javaee ":interceptors, " http://java.sun.com/xml/ns/javaee ":relationships, " http://java.sun.com/xml/ns/javaee ":assembly-descriptor , " http://java.sun.com/xml/ns/javaee":ejb-client-jar} 参加。在 com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile.java:324) 在 com.sun.enterprise.deployment.io.DeploymentDescriptorFile.read(DeploymentDescriptorFile. java:245) 在 com.sun.enterprise.deployment.archivist.Archivist.readStandardDeploymentDescriptor(Archivist.java:665) 在 com.sun.enterprise.deployment.archivist.Archivist.readDeploymentDescriptors(Archivist.java:391) 在 com.sun .enterprise.deployment.archivist.Archivist.open(Archivist.java:271) 在 com.sun.enterprise.deployment.archivist.Archivist.open(Archivist.java:280) 在 com.sun.enterprise.deployment.archivist.ApplicationArchivist .readModulesDescriptors(ApplicationArchivist.java:611) 在 com.sun.enterprise.deployment.archivist.ApplicationArchivist。openWith(ApplicationArchivist.java:229) at com.sun.enterprise.deployment.archivist.ApplicationFactory.openWith(ApplicationFactory.java:232) at org.glassfish.javaee.core.deployment.DolProvider.processDOL(DolProvider.java:188)在 org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:222) 在 org.glassfish.javaee.core.deployment.DolProvider.load(DolProvider.java:96) 在 com.sun.enterprise.v3 .server.ApplicationLifecycle.loadDeployer(ApplicationLifecycle.java:878) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.setupContainerInfos(ApplicationLifecycle.java:818) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle .java:374) 在 com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) 在 org.glassfish.deployment.admin。DeployCommand.execute(DeployCommand.java:491) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:527) at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run( CommandRunnerImpl.java:523) 在 java.security.AccessController.doPrivileged(Native Method) 在 javax.security.auth.Subject.doAs(Subject.java:356) 在 com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute (CommandRunnerImpl.java:522)执行(CommandRunnerImpl.java:522)执行(CommandRunnerImpl.java:522)

我的项目中没有任何这些值(实际上我不知道什么是拦截器,也不知道异常所说的其他必需值)(我不知道为什么 ejb-jar.xml 是强制性的以及为什么存在无法自动生成它)我只需要成功部署我的项目。

感谢帮助 !

0 投票
1 回答
82 浏览

ant - 用于 Jboss PER 环境的 Ejb jar

我正在尝试通过 ANT 将属性文件中的属性读取到 ejb-jar.xml 中的字段中。

我有一个属性文件 PER 环境,其中包含一个 IP 地址,当 ANT 构建耳朵时,必须将其写入 ejb-jar.xml。

我将如何做到这一点?