JSAAS 消息队列配置

概述
在平台中,消息队列作用主要是:

1.流程中发送审批消息

2.发送邮件

3.转换文件等

他的好处是实现了异步操作,不需要等待耗时的操作。

平台中集成了两种消息队列的实现

1.ACTIVEMQ

2.KAFKA 



配置
平台中集成了两种消息队列,用户在平台中选择其中的一个进行使用。

1.activemq
在平台中默认使用了内置的ACTIVEMQ,配置在spring-jms.xml 中。

<amq:broker useJmx="false" persistent="true" dataDirectory="${jms.dir}/jms">
   <amq:managementContext>
    
       <amq:managementContext createConnector="false" />
   </amq:managementContext>
   <amq:persistenceAdapter>
      <amq:kahaDB directory="${jms.dir}" >
          </amq:kahaDB>
      </amq:persistenceAdapter>
       <amq:transportConnectors>
   <amq:transportConnector uri="tcp://${jms.ip}:${jms.port}" />
</amq:transportConnectors>
  </amq:broker>
在生产部署时,我们需要注释上面的代码片段,使用独立的ACTIVEMQ服务器。

我们可以安装独立的activemq,如果只是测试,很简单只需要下载activemq让后,启动就可以了。

在平台中,我们使用activemq的 openfire端口。

参考activemq.xml 配置。

<transportConnectors>
           <!-- DOS protection, limit concurrent connections to 1000 and frame size to 100MB -->
           <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
           <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
           <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
           <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
           <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
       </transportConnectors>
我们需要我们连接的是61616这个端口,当然这个端口可以做修改。

启动activemq后,平台需要注释内置的activemq.并配置app.properties 文件。

jms.ip=127.0.0.1
jms.port=62222
jms.dir=c\:\\abc
jms.ip 指向activmq 服务器的IP

jms.port 指向activemq 的端口
jms.dir 独立的activemq 是不需要配置的。

2.kafka
在我们安装好kafka 后我们需要对平台做如下调整。

在spring-bean.xml

<!-- 消息生产者
<bean id="messageProducer" class="com.redxun.core.jms.producer.ActiveMqProducer"/>
 -->        
<bean id="messageProducer" class="com.redxun.core.jms.producer.KafkaProducer"/>
启用kafka 生产者

在spring-all.xml 中。

<import resource="spring-kafka-producer.xml"/>
<import resource="spring-kafka-consumer.xml"/>
<!--
<import resource="spring-security-cas.xml"/>
 <import resource="spring-jms.xml"/>
 <import resource="spring-dubbo.xml"/>
-->
在app.properties 文件修改 kafka 的服务器配置。

kafka.brokerurl=202.10.79.170:9001,202.10.79.170:9002
这里配置kafka的服务器地址

 

posted @ 2020-06-02 17:59  DarJeely  阅读(138)  评论(0)    收藏  举报