ActiveMQ采用static方式进行集群处理
来源:互联网 发布:java getservername 编辑:程序博客网 时间:2024/06/03 05:15
准备工作:因为机器的问题,只能在本机开通两台MQ,采用不同端口进行测试。
如下为两个MQ中的activemq.xml配置文件:
1。 master
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.--><!-- START SNIPPET: example --><beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> <!-- Allows us to use system properties as variables in this configuration file --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>file:${activemq.conf}/credentials.properties</value> </property> </bean> <!-- The <broker> element is used to configure the ActiveMQ broker. --> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="icity-master" dataDirectory="${activemq.data}"> <!-- For better performances use VM cursor and small memory limit. For more information, see: http://activemq.apache.org/message-cursors.html Also, if your producer is "hanging", it's probably due to producer flow control. For more information, see: http://activemq.apache.org/producer-flow-control.html --> <destinationPolicy> <policyMap> <policyEntries> <policyEntry queue=">" producerFlowControl="false"> <!-- Use VM cursor for better latency For more information, see: http://activemq.apache.org/message-cursors.html <pendingQueuePolicy> <vmQueueCursor/> </pendingQueuePolicy> --> </policyEntry> </policyEntries> </policyMap> </destinationPolicy> <!-- The managementContext is used to configure how ActiveMQ is exposed in JMX. By default, ActiveMQ uses the MBean server that is started by the JVM. For more information, see: http://activemq.apache.org/jmx.html --> <!-- Configure message persistence for the broker. The default persistence mechanism is the KahaDB store (identified by the kahaDB tag). For more information, see: http://activemq.apache.org/persistence.html --> <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter> <!-- The systemUsage controls the maximum amount of space the broker will use before slowing down producers. For more information, see: http://activemq.apache.org/producer-flow-control.html If using ActiveMQ embedded - the following limits could safely be used: <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="20 mb"/> </memoryUsage> <storeUsage> <storeUsage limit="1 gb"/> </storeUsage> <tempUsage> <tempUsage limit="100 mb"/> </tempUsage> </systemUsage> </systemUsage> --> <!-- The transport connectors expose ActiveMQ over a given protocol to clients and other brokers. For more information, see: http://activemq.apache.org/configuring-transports.html --><transportConnectors><transportConnector name="tcp" uri="tcp://127.0.0.1:60000"/><transportConnector name="nio" uri="nio://127.0.0.1:60001"/> </transportConnectors> <!-- destroy the spring context on shutdown to stop jetty --> <shutdownHooks> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> </shutdownHooks> </broker> <!-- Enable web consoles, REST and Ajax APIs and demos Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details --> <import resource="jetty.xml"/></beans><!-- END SNIPPET: example -->
2. slave
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.--><!-- START SNIPPET: example --><beans xmlns="http://www.springframework.org/schema/beans" xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> <!-- Allows us to use system properties as variables in this configuration file --> <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <value>file:${activemq.conf}/credentials.properties</value> </property> </bean> <!-- The <broker> element is used to configure the ActiveMQ broker. --> <broker xmlns="http://activemq.apache.org/schema/core" brokerName="icity-slave" dataDirectory="${activemq.data}"> <!-- For better performances use VM cursor and small memory limit. For more information, see: http://activemq.apache.org/message-cursors.html Also, if your producer is "hanging", it's probably due to producer flow control. For more information, see: http://activemq.apache.org/producer-flow-control.html --> <destinationPolicy> <policyMap> <policyEntries> <policyEntry queue=">" producerFlowControl="false"> <!-- Use VM cursor for better latency For more information, see: http://activemq.apache.org/message-cursors.html <pendingQueuePolicy> <vmQueueCursor/> </pendingQueuePolicy> --> </policyEntry> </policyEntries> </policyMap> </destinationPolicy> <!-- The managementContext is used to configure how ActiveMQ is exposed in JMX. By default, ActiveMQ uses the MBean server that is started by the JVM. For more information, see: http://activemq.apache.org/jmx.html --> <!-- Configure message persistence for the broker. The default persistence mechanism is the KahaDB store (identified by the kahaDB tag). For more information, see: http://activemq.apache.org/persistence.html --> <persistenceAdapter> <kahaDB directory="${activemq.data}/kahadb"/> </persistenceAdapter> <!-- The systemUsage controls the maximum amount of space the broker will use before slowing down producers. For more information, see: http://activemq.apache.org/producer-flow-control.html If using ActiveMQ embedded - the following limits could safely be used: <systemUsage> <systemUsage> <memoryUsage> <memoryUsage limit="20 mb"/> </memoryUsage> <storeUsage> <storeUsage limit="1 gb"/> </storeUsage> <tempUsage> <tempUsage limit="100 mb"/> </tempUsage> </systemUsage> </systemUsage> --> <!-- The transport connectors expose ActiveMQ over a given protocol to clients and other brokers. For more information, see: http://activemq.apache.org/configuring-transports.html --><networkConnectors> <networkConnector uri="static:(tcp://127.0.0.1:60000)"/> </networkConnectors><transportConnectors><transportConnector name="tcp" uri="tcp://127.0.0.1:30000"/><transportConnector name="nio" uri="nio://127.0.0.1:30001"/> </transportConnectors> <!-- destroy the spring context on shutdown to stop jetty --> <shutdownHooks> <bean xmlns="http://www.springframework.org/schema/beans" class="org.apache.activemq.hooks.SpringContextHook" /> </shutdownHooks> </broker> <!-- Enable web consoles, REST and Ajax APIs and demos Take a look at ${ACTIVEMQ_HOME}/conf/jetty.xml for more details --> <import resource="jetty.xml"/></beans><!-- END SNIPPET: example -->
3. 采用之前已经写好的测试文件进行测试。
public static void main(String[] args) {windowTest();System.out.println("over.");}private static void windowTest() {String s = "failover:(tcp://127.0.0.1:60000,tcp://127.0.0.1:30000)?randomize=false&timeout=3000&trackMessages=true&maxCacheSize=1048576&priorityBackup=true&priorityURIs=tcp://127.0.0.1:60000";JMSProducer producer = new JMSProducer(s, "system", "manager");for(int i=0;i<10;i++) {Map<String, Object> map = new HashMap<String, Object>();map.put("id", "1");map.put("name", "sss1113333");map.put("password", "password");producer.send("test", map);}}
0 0
- ActiveMQ采用static方式进行集群处理
- spring采用基于xml配置方式进行事务的处理
- etcd集群搭建--static方式
- 采用离散化处理方式
- ActiveMQ 高可用集群(ZooKeeper + LevelDB + Static discovery)
- activemq - 集群 - 基于zookeeper的levelDB集群方式
- 采用不同方式进行数值交换
- linux svn 采用dump方式进行迁移
- 使用activemq-spring进行消息处理
- 使用activemq-spring进行消息处理
- ActiveMQ学习总结(10)——ActiveMQ采用Spring注解方式发送和监听
- ActiveMQ集群
- activemq集群
- activemq 集群
- activeMq-集群
- activeMQ集群
- ActiveMQ 集群
- ActiveMQ 集群
- window server 2008 英文版tomcat运行乱码问题
- 黑马程序员(OC内存管理)
- 做网站用UTF-8编码还是GB2312编码?
- WIFI无线网络5G 5.8G(5.8GHz)频谱各信道及对应频率
- Largest prime factor
- ActiveMQ采用static方式进行集群处理
- SVN的分支、主干合并的使用说明
- 搜狗商业数据库自动化运维平台
- linux 文件查找
- 原版win7 install.wim在哪?
- 有限狀態機FSM coding style整理 (SOC) (Verilog) http://www.cnblogs.com/oomusou/archive/2011/06/05/fsm_coding
- POJ 2482 Stars in Your Window(线段树扫描线)
- 协同过滤实战
- projecteuler---->problem=35----Circular primes