分享

activemq spring jencks实现异步数据传输

 coolper 2007-09-20

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>

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多