【问题标题】:Activemq jdbcPersistenceAdapter flushingmessages to databaseActivemq jdbcPersistenceAdapter 将消息刷新到数据库
【发布时间】:2014-07-18 12:58:08
【问题描述】:

我有一个配置为使用 Oracle 的 activemq jdbcPersistenceAdapter。主代理获得了锁,但是当我将消息发送到队列时,我无法在数据库表中看到它们。我不希望以任何方式缓存消息,因为在没有更多生产者之前它们不会被使用(长话短说)。

 <broker xmlns="http://activemq.apache.org/schema/core"  brokerName="primary" useJmx="true" useShutdownHook="false">

 <managementContext>
   <!-- use appserver provided context instead of creating one,
        for jboss use: -Djboss.platform.mbeanserver -->
   <managementContext createConnector="false"/>
 </managementContext>

<persistenceAdapter>
   <jdbcPersistenceAdapter dataSource="#oracle-ds" createTablesOnStartup="false" lockKeepAlivePeriod="30000"/>
 </persistenceAdapter>

<transportConnectors>
  <transportConnector uri="tcp://localhost:61616"/>
</transportConnectors>

 <!-- Spring JMS Producer Configuration -->
<bean id="jmsProducerTemplate" class="org.springframework.jms.core.JmsTemplate">
    <property name="connectionFactory" ref="connectionFactory"/>
    <property name="defaultDestination" ref="p3dPausedTransactionDestination"/>
    <property name="deliveryPersistent" value="true"/>
</bean>

<!-- Message Listener Container -->
<bean id="jmsContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
    <property name="connectionFactory" ref="connectionFactory"/>
    <property name="destination" ref="p3dPausedTransactionDestination"/>
    <property name="messageListener" ref="transactionMessageConsumer" />
    <property name="sessionTransacted" value="true"/>
    <property name="autoStartup" value="true"/>
    <property name="sessionAcknowledgeModeName" value="AUTO_ACKNOWLEDGE"/>
</bean>

<!-- JMS Factory -->
<beans profile="local, test, dev, dev2, sit, uat, tt, prod">
    <bean id="connectionFactory" class="org.springframework.jms.connection.SingleConnectionFactory">
        <property name="targetConnectionFactory">
            <bean class="org.springframework.jndi.JndiObjectFactoryBean">
                <property name="jndiName" value="java:jboss/activemq/p3dConnectionFactory"/>
                <property name="lookupOnStartup" value="true"/>
            </bean>
        </property>
    </bean>
</beans>

【问题讨论】:

    标签: oracle activemq spring-jms jmstemplate


    【解决方案1】:

    添加第二个代理后,消息开始出现在数据库中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 1970-01-01
      • 2016-01-12
      • 2018-07-14
      • 2011-03-07
      相关资源
      最近更新 更多