0

我在两个不同的应用程序中使用 MessageDriven Bean,我希望它们成为使用单独队列的单独实例。

这个 SO question证实了我的想法,即我应该能够在部署描述符中进行设置(ejb-jar.xml?glassfish-ejb-jar.xml?)。也许简单地覆盖mappedNameMDB 注释中的 就足够了?

如果有人能指出如何在 Glassfish 中执行此操作的一个很好的示例,我将不胜感激(或者如果我在这里混淆了问题,请澄清问题)。

更新:

澄清一下,调用了 MDBAnalyzerBean和调用了 Resource AnalyzerHelper(前者从队列中读取,后者写入队列)。我是否正确假设<ejb-ref-name>对应于name属性并<jndi-name>对应于mappedName属性?

我的 glassfish-ejb-jar.xml 现在看起来像这样。我正在尝试为资源和 MDB 提供唯一的 JNDI 名称,但我不断收到错误消息:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-ejb-jar PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 EJB 3.1//EN" "http://glassfish.org/dtds/glassfish-ejb-jar_3_1-1.dtd">
<glassfish-ejb-jar>
   <enterprise-beans>
   <ejb>
     <ejb-name>analyzerBean</ejb-name>
     <jndi-name>analyzerBean</jndi-name>

     <ejb-ref>
       <ejb-ref-name>analyzerBean</ejb-ref-name>
       <jndi-name>analyzerBeanQueue1</jndi-name>
     </ejb-ref>

     <resource-ref>
       <res-ref-name>analyzerHelper</res-ref-name>
       <jndi-name>analyzerHelperResource1</jndi-name>
     </resource-ref>
   </ejb>
   </enterprise-beans>
</glassfish-ejb-jar>
4

0 回答 0