ActivationConfigProperty具有可配置的clientId

时间:2018-04-06 05:32:57

标签: jms ejb websphere-liberty jms-topic

使用liberty 18.0.0.1和这样的MDB:

@MessageDriven(
        activationConfig = { 
                @ActivationConfigProperty(propertyName = "destination", propertyValue = "distributedACLCache"), 
                @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
                @ActivationConfigProperty(propertyName = "subscriptionDurability", propertyValue = "Durable"),
                @ActivationConfigProperty(propertyName = "subscriptionName", propertyValue = "distributedACLCache"),
                @ActivationConfigProperty(propertyName = "clientId", propertyValue = "cli-id-01")

在这种情况下,clientId是staic,但如果我想在具有不同clientId的多个实例中部署此MDB,那么它似乎是不可能的?

有没有办法从环境变量或当前运行时的属性中注入clientId?

/ BWA

1 个答案:

答案 0 :(得分:0)

您可以使用xml(ejb-jar.xml)配置所有这些值,这样您可以更改每个部署的配置。我想您也可以混合MDB的注释和xml配置。

请参见https://docs.oracle.com/cd/E24329_01/web.1211/e24977/annotations.htm#WLMDB10006