java - 动态设置 MessageDrivenBeans 中的激活配置属性

标签 java jms message-driven-bean

我在尝试让我们的 MDB 在不同环境中使用动态加载的属性时遇到了一些困难。

@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "providerURL", propertyValue = "localhost:7001"),
@ActivationConfigProperty(propertyName = "destinationType", propertyValue ="javax.jms.Queue") }, mappedName = "jms.MyQueue", name = "MyQueueReader")
public class QueueReaderBean implements MessageListener {

}

我们想在部署到不同环境时更改 providerURL。你有什么建议吗?

我们不想使用 ejb.xml,而是在构造函数或后构造方法中以编程方式使用它。

谢谢

最佳答案

也许与此条目有关connecting to a remote JMS provider from a Message Driven Bean (MDB)

并使用 jnp 协议(protocol)的 url 可以完成这项工作:

@MessageDriven(activationConfig = { @ActivationConfigProperty(propertyName = "providerURL", propertyValue = "jnp://hostname:1099"), @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue") }, mappedName = "jms.MyQueue", name = "MyQueueReader") 公共(public)类 QueueReaderBean 实现 MessageListener {

关于java - 动态设置 MessageDrivenBeans 中的激活配置属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13760190/

相关文章:

java - 如何访问默认包中的 java 类?

java - 从 Joda DateTime 对象中删除时区

java - NoSuchBeanDefinitionException : No qualifying bean of type [project. dao.ServiceUserDao] 找到依赖项

java - 如何确保来自 JMS 队列的消息传递到外部 WebService (CXF)?

jms - 使用 IBM 的 mq-jms-spring 检测断开连接

java - 如何对 javax.naming.Referenceable 的实现进行单元测试?

java - 用于 SSL 的 MDB Maillistener @ActivationConfigProperty

java - 有不少于吗?

jakarta-ee - JMS 消费者和消息驱动 Bean (MDB) 之间有什么区别

java - 如何以编程方式和动态方式设置 MDB