问题标签 [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.
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”真的有必要吗……?
xml - 使用和在同一个 ejb-jar.xml
我正在尝试将消息驱动 bean 添加到我现有的 Java EE 应用程序中。我正在修改我的部署描述符 ejb-jar.xml。我的 ejb-jar.xml 看起来像这样。
当我尝试在 websphere 上部署我的应用程序时,它给了我以下错误。
在玩了几天的 xml 文件后,我发现,当我删除上面 ejb-jar 元素中给出的命名空间时,message-driven-destination 被正确翻译,但元素失败,并出现相同的 Child translate not found 错误。
所以我相信这是一个命名空间冲突问题。如果有人可以帮助我解决这个问题,我很感激。
提前致谢。
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]'。它必须是来自枚举的值。
这似乎表明,尽管有文档,但不允许使用枚举。还是发生了其他我可能会错过的事情?
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)。
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 样式注入上述配置?更具体地说,我不知道如何注入以下属性:
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。
我在哪里犯错?
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 中都有正确的位置。
有人会知道我的配置不正确吗?
谢谢!
编辑:
将会话元素修改为
ejb - 发布到 Weblogic Server 11gR1 时出错
我收到以下错误。这是什么意思以及如何解决?
谢谢您的帮助。
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 是强制性的以及为什么存在无法自动生成它)我只需要成功部署我的项目。
感谢帮助 !
ant - 用于 Jboss PER 环境的 Ejb jar
我正在尝试通过 ANT 将属性文件中的属性读取到 ejb-jar.xml 中的字段中。
我有一个属性文件 PER 环境,其中包含一个 IP 地址,当 ANT 构建耳朵时,必须将其写入 ejb-jar.xml。
我将如何做到这一点?