ActiveMQ的配置,我用的是apache-activemq-4.1.1版本,可以下载最新版本.但是配置可能有些变化.
首先配置ActiveMQ的用户资源,配置其用户名秘密和组和权限.在其conf目录下面添加一个login.config文件,内容如下:
activemq-domain { org.apache.activemq.jaas.PropertiesLoginModule required debug=true org.apache.activemq.jaas.properties.user="userswyy.properties" org.apache.activemq.jaas.properties.group="groupswyy.properties"; };
userswyy.properties和groupswyy.properties为用户和组指向的配置文件,添加userswyy.properties文件,内容如下:
用户名=密码
配置groupswyy.properties文件,内容如下:
组名=用户名
上面的密码可以用md5加密过后的密码,这样就不能直接看见其密码.
接着在spring配置文件中配置ResourceAdapter,jmsFactory,MDP,JCA Container,JMS Template,配置文件具体内容如下:
<bean id="jmsFactory" class="org.fengzhong.email.core.security.JmsFactory"> <property name="brokerURL"> <value>${jms.url}</value> </property> <property name="userName" value="${jms.user}"/> <property name="passwordEncoder" ref="passwordEncoder" />
</bean> <!-- ActiveMQ 的 ResourceAdapter --> <bean id="activeMQResourceAdapter" class="org.email.core.security.ActiveMQ"> <property name="serverUrl" value="${jms.url}"/> <property name="userName" value="${jms.user}"/> <property name="passwordEncoder" ref="passwordEncoder" /> </bean>
<!--监听 Message 的Message Driven POJO--> <bean id="JmsMailSenderMDP" class="orgemail.core.jms.JmsMailSenderMDP" autowire="byName"/>
<!-- Jencks 的 JCA Container --> <bean id="jencksContainer" class="org.jencks.JCAContainer"> <property name="bootstrapContext"> <bean class="org.jencks.factory.BootstrapContextFactoryBean"> <property name="threadPoolSize" value="25"/> </bean> </property> <!-- 给JCA装上相对应的ResourceAdapter --> <property name="resourceAdapter" ref="activeMQResourceAdapter"/> </bean>
<!-- 将MDP与JmsMailSender.Queue 消息队列关联 --> <bean id="JmsMailSenderQueueConsumer" class="org.jencks.JCAConnector"> <property name="jcaContainer" ref="jencksContainer"/> <property name="activationSpec"> <bean class="org.apache.activemq.ra.ActiveMQActivationSpec"> <property name="destination" value="JmsMailSender.Queue"/> <property name="destinationType" value="javax.jms.Queue"/> </bean> </property>
<property name="ref" value="JmsMailSenderMDP"/> </bean>
<!--JMS Template--> <bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate"> <property name="defaultDestinationName" value="JmsMailSender.Queue"/> <property name="connectionFactory" ref="jmsFactory"/> </bean>
|