来自Java类的Spring Bootset JmsTemplate配置属性(不是来自应用程序属性文件)

时间:2018-09-06 13:09:07

标签: java spring-boot jms ibm-mq

遵循本教程https://developer.ibm.com/messaging/2018/04/03/mq-jms-spring-boot/的知识,并开发了Spring Boot JMS应用程序,该应用程序将消息发送到IBM MQ。 (使用此依赖项-mq-jms-spring-boot-starter)。

根据本教程,配置属性(队列管理器,通道,端口等)可以在application.yml / application.properties文件中提供,如下所示,JmsTemplate将自动配置为属性。

ibm.mq.queueManager=QM1
ibm.mq.channel=SYSTEM.DEF.SVRCONN
ibm.mq.connName=server.example.com(1414)
ibm.mq.user=user1
ibm.mq.password=passw0rd

该应用程序运行完美,并且现在通过这种方式将消息发送到MQ。

但是我想在类中设置属性,而不是从属性文件(从数据库或其他东西读取)中设置属性。如何在类中设置这些值?

1 个答案:

答案 0 :(得分:0)

在填充初始属性之后,可以在CF上使用定制程序方法。

在Application类中,此代码允许配置其他属性:

@Bean
public MQConnectionFactoryCustomizer myCustomizer() {

  MQConnectionFactoryCustomizer c = new MQConnectionFactoryCustomizer() {
    @Override
    public void customize(MQConnectionFactory factory) {
       factory.setXXXX(property, value);
    }
  };
  return c;

}