Spring + WildFly + IBM MQ Cofiguration

时间:2018-02-06 12:22:10

标签: java spring spring-mvc wildfly ibm-mq

我在WildFly 10服务器上部署了Spring Web应用程序。我需要添加向/从IBM MQ服务器发送和接收消息的功能(现在版本为7.5,但版本将很快更新到9)。 我阅读了很多文档,如何配置WildFly(JBoss)或spring应用程序,但是有几种方法可以做到这一点,我觉得这是最好的做法。

我需要在 standalone.xml 文件中编写什么内容?这种配置是否正确:

<subsystem xmlns="urn:jboss:domain:resource-adapters:4.0">
        <resource-adapters>
            <resource-adapter id="wmq.jmsra.rar">
                <archive>
                    wmq.jmsra.rar
                </archive>
                <transaction-support>NoTransaction</transaction-support>
                <connection-definitions>
                    <connection-definition class-name="javax.jms.QueueConnectionFactory" jndi-name="java:/jms/jmsConnectionFactory" enabled="true" pool-name="jmsConnectionFactory">
                        <config-property name="channel">
                            SYSTEM.DEF.SVRCONN
                        </config-property>
                        <config-property name="hostName">
                            myserver
                        </config-property>
                        <config-property name="transportType">
                            CLIENT
                        </config-property>
                        <config-property name="queueManager">
                            QM3
                        </config-property>
                        <config-property name="port">
                            1414
                        </config-property>
                        <security>
                            <application/>
                        </security>
                        <validation>
                            <background-validation>false</background-validation>
                        </validation>
                    </connection-definition>
                </connection-definitions>
                <admin-objects>
                    <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:/jms/FROMS1" enabled="true" use-java-context="true" pool-name="FROMS1">
                        <config-property name="baseQueueName">
                            FROMS1
                        </config-property>
                        <config-property name="baseQueueManagerName">
                            QM3
                        </config-property>
                    </admin-object>
                    <admin-object class-name="com.ibm.mq.connector.outbound.MQQueueProxy" jndi-name="java:/jms/TOS1" enabled="true" use-java-context="true" pool-name="TOS1">
                        <config-property name="baseQueueName">
                            TOS1
                        </config-property>
                        <config-property name="baseQueueManagerName">
                            QM3
                        </config-property>
                    </admin-object>
                </admin-objects>
            </resource-adapter>
        </resource-adapters>
    </subsystem>

或者不需要在WildFly中配置资源适配器,我可以在应用程序中配置它?

pom.xml 中,我添加:

    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jms</artifactId>
        <version>4.3.9.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>javax.jms</groupId>
        <artifactId>javax.jms-api</artifactId>
        <version>2.0.1</version>
    </dependency>

在一些文章中,我看到了 com.ibm.mqjms com.ibm.mq.jmqi 的依赖关系,是否需要它们?

下一步是配置 spring-servlet.xml 。怎么做? 使用 com.ibm.mq.jms.MQQueueConnectionFactory spring SingleConnectionFactory 的连接工厂?

如何从应用程序中的队列获取和放置消息?

0 个答案:

没有答案