初学Activemq,写了一个和spring一起的配置文件

时间:2021-03-21 20:31:14

1:数据库使用dbcp配置。

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
  <property name="driverClassName" value="${jdbc.driverClassName}" />
  <property name="url" value="${jdbc.url}" />
  <property name="username" value="${jdbc.username}" />
  <property name="password" value="${jdbc.password}" />
  <property name="minPoolSize" value="${jdbc.minPoolSize}"/>
  <property name="maxPoolSize" value="${jdbc.maxPoolSize}"/>
  <property name="initialPoolSize" value="${jdbc.initialPoolSize}"/>

  <!--最大空闲时间,60秒内未使用则连接被丢弃。若为0则永不丢弃。默认为0 -->
  <property name="maxIdleTime" value="${jdbc.maxIdleTime}"/>
</bean>

2:配置connectionFactory 链接工厂
<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="${activemq.url}"/>
  </bean>
  </property>
  <property name="maxConnections" value="${activemq.maxConnections}"></property>
</bean>

 

3:将mq的模式设置为queue,实现异步接收。

<bean id="destination" class="org.apache.activemq.command.ActiveMQQueue">

  <constructor-arg index="0" value="${activemq.destination}"></constructor-arg>
</bean>

4:你的消费者实现类,处理接收消息的主函数。
<bean id="consumer" class="com.myself.jms.msgaccepter.action.ConsumerAction">
  <property name="" ref=""></property>
</bean>

5:消息监听容器,这里统一实现了actinmq的消息接收机制。
<bean id="listenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
  <property name="concurrentConsumers" value="${activemq.consumers}" />
  <property name="connectionFactory" ref="jmsFactory" />
  <property name="destination" ref="destination" />
  <property name="messageListener" ref="consumer" />
</bean>

 

6:$内的值通过properties文件记录,支持更改。