【问题标题】:Spring integration JMS message Driven Channel Adapter to connect to IBM MQ using java configurationSpring集成JMS消息Driven Channel Adapter使用java配置连接IBM MQ
【发布时间】:2018-08-03 04:57:39
【问题描述】:

使用 Spring 集成连接到 IBM MQ 的 Java 配置

【问题讨论】:

    标签: java spring-integration spring-integration-dsl


    【解决方案1】:

    请使用以下代码使用 java 配置创建一个入站消息驱动的通道适配器。

    @Value("${jms.queuemanagername}")
    private String queuemanagername;
    
    @Value("${jms.hostName}")
    private String hostName;
    
    @Value("${jms.port}")
    private String port;
    
    @Value("${jms.channel}")
    private String channel;
    
    @Value("${jms.queueName}")
    private String queueName;
    
    @Autowired
    public AmqpTemplate amqpTemplate;
    
    @Bean
    public MessageChannel queureader() {
        return new DirectChannel();
    }
    
    public static void main(String[] args) {
        SpringApplication.run(IbmMqConnectorApplication.class, args);
    }
    
    
    @Bean
    public IntegrationFlow ibmInbound() {
        return IntegrationFlows.from(Jms.messageDrivenChannelAdapter(getConnection()).destination(reciverBean()))
                 .channel("queureader")
                 .get();
    }
    
    @Bean
    public MQQueueConnectionFactory getConnection() {
        MQQueueConnectionFactory connection = new MQQueueConnectionFactory();
        try {
            connection.setTransportType(1);
            connection.setQueueManager(queuemanagername);
            connection.setHostName(hostName);
            connection.setPort(Integer.parseInt(port));
            connection.setChannel(channel);
        } catch (Exception e) {
            System.out.println("Error");
        }
    
        return connection;
    }
    
    @Bean
    public MQQueue reciverBean() {
        MQQueue queue = new MQQueue();
    
        try {
            queue.setBaseQueueManagerName(queuemanagername);
            queue.setBaseQueueName(queueName);
    
        } catch (Exception ex) {
            System.out.println("Error");
        }
        return queue;
    }
    
    @ServiceActivator(inputChannel = "queureader")
    public void Print(Message<?> msg) {
    
        System.out.println(msg.getPayload().toString());
    }
    

    确保在 pom.xml 中添加以下依赖项

           <dependency>
            <groupId>com.ibm</groupId>
            <artifactId>com.ibm.mqjms</artifactId>
            <version>5.3.07</version>
        </dependency>
        <dependency>
            <groupId>com.ibm</groupId>
            <artifactId>com.ibm.disthub2.dhbcore</artifactId>
            <version>7.1.0.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.ibm/com.ibm.mq -->
        <dependency>
            <groupId>com.ibm</groupId>
            <artifactId>com.ibm.mq</artifactId>
            <version>5.3.07</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/javax.resource/connector-api -->
        <dependency>
            <groupId>javax.resource</groupId>
            <artifactId>connector-api</artifactId>
            <version>1.6-alpha-1</version>
            <scope>provided</scope>
        </dependency>
                <!-- https://mvnrepository.com/artifact/com.ibm/com.ibm.mq -->
        <dependency>
            <groupId>com.ibm</groupId>
            <artifactId>com.ibm.mq</artifactId>
            <version>5.3.07</version>
        </dependency>
    
        <!-- https://mvnrepository.com/artifact/javax.resource/connector -->
    <dependency>
        <groupId>javax.resource</groupId>
        <artifactId>connector</artifactId>
        <version>1.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>7.0</version>
    </dependency>
    

    请为连接详细信息设置相应的值。谢谢!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-21
      • 2020-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多