当前位置: 首页 > 知识库问答 >
问题:

TomEE MDB消息驱动Bean

东方方伟
2023-03-14

是否可以在MDB(消息驱动Bean)中为“目的地”动态分配运行时值?

@MessageDriven(name="PingPongMDB", activationConfig = {
    @ActivationConfigProperty(
            propertyName = "destinationType", 
            propertyValue = "javax.jms.Queue"),
         @ActivationConfigProperty(
            propertyName = "destination", 
            propertyValue = "ref_fooQueue")})
public class PingPongMDB implements MessageListener {

我还尝试了ejb-jar.xml方法,但是“activation-config-property-name”=“destination”的值被理解为队列的文字物理名称。因此我无法对资源进行JNDI查找。

<message-driven>

  <ejb-name>PingPongMDB</ejb-name>
  <ejb-class>com.company.sample.services.PingPongMDB</ejb-class>

  <messaging-type>javax.jms.MessageListener</messaging-type>

  <activation-config>
    <activation-config-property>
      <activation-config-property-name>destination</activation-config-property-name>
      <activation-config-property-value>openejb:Resource/ref_fooQueue</activation-config-property-value>
    </activation-config-property>
    <activation-config-property>
      <activation-config-property-name>destinationType</activation-config-property-name>
      <activation-config-property-value>javax.jms.Queue</activation-config-property-value>
    </activation-config-property>
  </activation-config>

</message-driven>

从属性读取和分配目标或使用-d参数传递值的正确方法是什么?

共有1个答案

松飞翮
2023-03-14

如果有人遇到它,它已经在http://tomee-openejb.979440.n4.nabble.com/tomee-override-parameterize-activationconfigpropertytd4680969.html上解决了

简而言之:使用last version使使用占位符成为可能

 类似资料:
  • 在企业应用程序中,我试图使用netBeans 8.1将MessageDriven beans注入Web应用程序(到REST服务)。我在IDE中没有得到任何警告,但是,在部署时,我得到以下错误: 严重:加载应用程序时出现异常:CDI部署失败:Weld-001408:未满足类型StatisticsBean的依赖关系,其限定符@Default在注入点[BackedAnnotatedField]@Inje

  • 早上好在我的时区。 事先表示感谢并致以最良好的问候

  • 消息驱动Bean是一种企业bean,当EJB容器从队列或主题接收消息时由EJB容器调用。 消息驱动的bean是一个无状态bean,用于异步执行任务。 为了演示消息驱动bean的使用,我们将使用EJB-persistence章节,我们需要执行以下任务 - Step 1 - 在数据库中创建表(请参阅EJB-Persistence章节)。 Step 2 - 创建与表对应的实体类(请参阅EJB-Persi

  • 我的问题是,如果编写一个简单的REST API,就像文章描述的那样,执行由MongoDB支持的CRUD操作,并使用spring-boot-starter-data-mongodb-reactive,我可以调用消息驱动的API服务吗?我还可以添加一个Webclient来与一些下游服务进行对话。 在REST API上下文中驱动消息有意义吗?

  • 同事, 你能帮我解决以下问题吗? 我有JavaEE应用程序。它包含一些具有业务逻辑的消息驱动Bean和一些负责整个应用程序配置的不同方面的管理Bean。我想设置bean启动和初始化的顺序。这意味着在管理Bean完成应用程序的初始化之前,容器不应该调用消息驱动Bean。应用程序的初始化包括读取和解析一些配置文件,这需要一些时间。 有WebSphere配置选项吗? 或者它应该只以编程方式完成技巧?

  • 在一个无状态bean中,我正在查找队列,这是正确的,并且发送没有抛出异常: 但不调用消息驱动bean的onMessage方法。 我错过了什么? 我的消息驱动bean有以下代码: