Jakarta ee 创建一个消息驱动Bean的多个实例

Jakarta ee 创建一个消息驱动Bean的多个实例,jakarta-ee,jms,ejb-3.0,message-driven-bean,Jakarta Ee,Jms,Ejb 3.0,Message Driven Bean,我在两个不同的应用程序中使用消息驱动Bean,我希望它们是使用单独队列的单独实例 确认了我的想法,即我应该能够在部署描述符(ejb-jar.xml?glassfish ejb-jar.xml?)中设置它。也许简单地覆盖MDB注释中的mappedName就足够了 如果有人能给我举一个在Glassfish中如何做到这一点的好例子,我将不胜感激(或者,如果我把这里的事情搞糊涂了,请澄清问题) 更新: 为了澄清这一点,有名为AnalyzerBean的MDB和名为AnalyzerHelper的资源(前者从

我在两个不同的应用程序中使用消息驱动Bean,我希望它们是使用单独队列的单独实例

确认了我的想法,即我应该能够在部署描述符(ejb-jar.xml?glassfish ejb-jar.xml?)中设置它。也许简单地覆盖MDB注释中的
mappedName
就足够了

如果有人能给我举一个在Glassfish中如何做到这一点的好例子,我将不胜感激(或者,如果我把这里的事情搞糊涂了,请澄清问题)

更新:

为了澄清这一点,有名为
AnalyzerBean
的MDB和名为
AnalyzerHelper
的资源(前者从队列读取,后者写入队列)。假设
对应于
名称
属性,
对应于
映射名称
属性,对吗

我的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>

分析豆
分析豆
分析豆
分析仪BEANQUEUE1
分析器助手
analyzerHelperResource1

如果它们是“两个不同的应用程序”,是的,这就足够了。您可以覆盖部署描述符中的
mappedName
。包含贝朗建议的完整示例。谢谢fvu,我还没有看到这个。我以后再试试看;请将其作为答案发布,这样您就可以得到应得的分数!