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&wireFormat.maxFrameSize=104857600"/> <transportConnector name="amqp" uri="amqp://0.0.0.0:5672?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="mqtt" uri="mqtt://0.0.0.0:1883?maximumConnections=1000&wireFormat.maxFrameSize=104857600"/> <transportConnector name="ws" uri="ws://0.0.0.0:61614?maximumConnections=1000&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的服务器地址