MDB 动态设置 ActivationConfig
MDB set ActivationConfig dynamically
我有以下 MDB 配置
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
@ActivationConfigProperty(propertyName = "destinationJndiName", propertyValue = "jms/test/log"),
@ActivationConfigProperty(propertyName= "destination", propertyValue="jms_test_log"),
@ActivationConfigProperty(propertyName="acknowledgeMode", propertyValue="Auto-acknowledge"),
@ActivationConfigProperty(propertyName="addressList", propertyValue="mq://test.server.co.uk:7676"),
@ActivationConfigProperty(propertyName = "maxSession", propertyValue = "10")
})
@TransactionManagement(TransactionManagementType.BEAN)
public class DownloadListener implements MessageListener { ....
我希望能够动态设置 addressList 属性。这些值将来自初始设置属性文件和未来的管理控制台。由于它不在 class decleration 范围内,我无法简单地分配一个变量。
我看到您可以将这些值添加到各种 xml 文件中,但它似乎取决于供应商,例如JBoss。我不想把这归咎于一家供应商。我需要它以这种方式打开。
我环顾四周,找不到任何迹象表明我可以做这样的事情。是否可以像设置方法一样设置配置?
不,没有动态设置激活配置属性的标准方法。我什至从未听说过 vendor-specific 动态设置激活配置属性的方法。我想您可以动态重建 EAR 并使用 vendor-specific API 重新部署它,或者某些应用程序服务器可能支持动态覆盖该配置。
我有以下 MDB 配置
@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Topic"),
@ActivationConfigProperty(propertyName = "destinationJndiName", propertyValue = "jms/test/log"),
@ActivationConfigProperty(propertyName= "destination", propertyValue="jms_test_log"),
@ActivationConfigProperty(propertyName="acknowledgeMode", propertyValue="Auto-acknowledge"),
@ActivationConfigProperty(propertyName="addressList", propertyValue="mq://test.server.co.uk:7676"),
@ActivationConfigProperty(propertyName = "maxSession", propertyValue = "10")
})
@TransactionManagement(TransactionManagementType.BEAN)
public class DownloadListener implements MessageListener { ....
我希望能够动态设置 addressList 属性。这些值将来自初始设置属性文件和未来的管理控制台。由于它不在 class decleration 范围内,我无法简单地分配一个变量。
我看到您可以将这些值添加到各种 xml 文件中,但它似乎取决于供应商,例如JBoss。我不想把这归咎于一家供应商。我需要它以这种方式打开。
我环顾四周,找不到任何迹象表明我可以做这样的事情。是否可以像设置方法一样设置配置?
不,没有动态设置激活配置属性的标准方法。我什至从未听说过 vendor-specific 动态设置激活配置属性的方法。我想您可以动态重建 EAR 并使用 vendor-specific API 重新部署它,或者某些应用程序服务器可能支持动态覆盖该配置。