2012-03-20 67 views
0

我正在使用spring jms模板和活動mq發送郵件。我得到的錯誤說無法將org.apache.activemq.pool.PooledConnectionFactory類型的值轉換爲javax.jms.ConnectionFactory。有人能告訴我可能做錯了什麼嗎?下面是我的配置:無法將活動的mq池連接工廠轉換爲javax.jms.connectionfactory

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:p="http://www.springframework.org/schema/p" 
    xmlns:context="http://www.springframework.org/schema/context" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans     http://www.springframework.org/schema/beans/spring-beans-3.0.xsd   
    http://www.springframework.org/schema/context   
    http://www.springframework.org/schema/context/spring-context-3.0.xsd 
    http://www.springframework.org/schema/jms 
     http://www.springframework.org/schema/jms/spring-jms.xsd 
     http://activemq.apache.org/schema/core 
     http://activemq.apache.org/schema/core/activemq-core.xsd"> 

    <bean id="jmsFactory" class="org.apache.activemq.pool.PooledConnectionFactory"  destroy-method="stop"> 
    <property name="connectionFactory"> 
     <bean class="org.apache.activemq.ActiveMQConnectionFactory"> 
     <property name="brokerURL"> 
      <value>tcp://localhost:61616</value> 
     </property> 
     </bean> 
    </property> 
    </bean> 

    <!-- Spring JMS Template --> 
    <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> 
    <property name="connectionFactory"> 
     <ref local="jmsFactory"/> 
    </property> 
    <property name="defaultDestination" ref="destination" /> 
    </bean> 

    <bean id="destination" class="org.apache.activemq.command.ActiveMQQueue"> 
     <constructor-arg value="orderQueue"/> 
    </bean> 


    <bean id="jmsSender" class="gov.ca.dmv.AKT.integration.Beans.JMSSender"> 
     <property name="jmsTemplate102"> 
      <ref bean="jmsQueueTemplate"/> 
     </property> 
    </bean> 

    <bean id="jmsReceiver" class="gov.ca.dmv.AKT.integration.Beans.JMSReceiver"> 
     <property name="jmsTemplate102"> 
      <ref bean="jmsQueueTemplate"/> 
     </property> 
    </bean> 

回答

3

看起來就像你有事情越過了一下,嘗試設置這些像這樣,而不是...

<bean id="jmsConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> 
    <property name="brokerURL" value="tcp://localhost:61616" /> 
</bean> 
<bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"> 
    <property name="connectionFactory" ref="jmsConnectionFactory"/> 
</bean> 
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> 
    <property name="connectionFactory" ref="pooledConnectionFactory" /> 
</bean>