2013-03-21 5 views
5

Websphere app Server 7.0で定義されたMQ接続ファクトリに接続しようとしています。SpringからWebsphereアプリケーションサーバーで定義されたMQ接続ファクトリのjndiルックアップを行う方法

しかし、私は春に定義するMQのための適切な接続のインターフェイスを見つけることができませんでした。

しかし、スプリング設定ファイルで接続の詳細をハードコーディングしようとしたとき、私はキューマネージャに接続することができます。

Websphere applサーバーで定義されたMQ接続ファクトリをロードするためにSpring Beanで使用する正しいインタフェース/フォーマットは何ですか?

ワーキングコード

<bean id="mqConnectionFactory" class="com.ibm.mq.jms.MQQueueConnectionFactory"> 
    <property name="hostName"> 
     <value>127.0.0.1</value> 
    </property> 
    <property name="port"> 
     <value>1414</value> 
    </property> 
    <property name="queueManager"> 
     <value>MYQM</value> 
    </property> 
    <property name="transportType"> 
     <value>1</value> 
    </property> 
</bean> 

が動作しないコード WASQMはないと

エラーコード作業のWebsphereで定義されたMQ接続ファクトリーで

<bean id="mqConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> 
    <property name="jndiName" value="jms/WASQM"/> 
    <property name="lookupOnStartup" value="false"/> 
    <property name="cache" value="true" /> 
    <property name="proxyInterface" value="com.ibm.mq.jms.MQQueueConnectionFactoryFactory" /> 
</bean> 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'mqConnectionFactory' defined in ServletContext resource [/WEB-INF/config/config-mq.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: [com.ibm.mq.jms.MQQueueConnectionFactoryFactory] is not an interface 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1420) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190) 
Caused by: java.lang.IllegalArgumentException: [com.ibm.mq.jms.MQQueueConnectionFactoryFactory] is not an interface 

私は、動作していないコードを正しいコードに置き換える際に助けが必要です。 春 - 3.0.5 IBM MQとWebアプリケーションサーバー - 7.0

答えて

4

正しい方法を行うには、

  1. (ない接続ファクトリで)WebSphereのアプリケーションサーバーにキュー接続ファクトリーでリソースを作成しています

    使用のjavax.jms.QueueConnectionFactory春の設定で接続ファクトリとして

    <bean id="mqConnectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean"> 
        <property name="jndiName" value="WASQM"/> 
        <property name="lookupOnStartup" value="false"/> 
        <property name="cache" value="true" /> 
        <property name="proxyInterface" value="javax.jms.QueueConnectionFactory" /> 
    </bean> 
    

このpageは私にヒントを与えました。

関連する問題