• spring+activity+mysql集群


     第一步:先配置好第一个activityMQ

     在broker外面加入数据库的连接信息,并将mysql的mysql-connector-java.jar,即java连接mysql的jar包放入apache-activemq-5.14.1lib目录下

    第二步:复制配置好的第一个

    修改端口:如果不在一台服务器上是可以不改端口号的,Activemq默认主要使用2个端口,8161(控制台使用)、61616(提供服务的端口)

    (1)activemq.xml,默认是61616

    (2)jetty.xml,默认是8161
     

    第三个就改为61636与8163

    第三步:启动

     只有第一个启动的是master才能正常使用,其他的都是slave做等待,在Master挂了之后,会自动分配一个slave为master

     第四步:客户端连接

    客户端连接:

    pom.xml

    <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <spring.version>4.3.3.RELEASE</spring.version>
            <activemq>5.11.4</activemq>
            <!-- <activemq>5.14.1</activemq> --> <!-- 5.12.0开始以后的版本jar包中包含了spring,与当前引入的spring冲突,导致起不来服务,如果用高版本的activitymq则须把activemq-all中的spring删除,然后再引入就可以了 -->
      </properties>
        
          <dependencies>
              <!-- Active MQ -->
            <dependency>
                <groupId>org.apache.activemq</groupId>
                <artifactId>activemq-all</artifactId>
                <version>${activemq}</version>
            </dependency>
            <!-- 集成JMS -->
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-jms</artifactId>
                <version>${spring.version}</version>
            </dependency>
      
    
          <!-- xbean 如<amq:connectionFactory /> -->
           <dependency>
               <groupId>org.apache.xbean</groupId>
               <artifactId>xbean-spring</artifactId>
               <version>4.5</version>
          </dependency>
    
    
    
        </dependencies>

    ActiveMQ 的客户端只能访问Master的Broker,其他处于Slave的Broker不能访问。所以客户端连接Broker应该使用failover协议。
    配置文件地址应为:
    failover:(tcp://192.168.1.100:61611,tcp://192.168.1.100:61612,tcp://192.168.1.100:61613)?randomize=false

     贴出spring的配置

        <bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
            <property name="sessionCacheSize" value="100" />
            <property name="targetConnectionFactory">  
                <bean class="org.apache.activemq.ActiveMQConnectionFactory">  
                    <!-- MQ地址 -->  
                    <!-- <property name="brokerURL" value="tcp://localhost:61616" />   -->
                    
                    <!-- 基于jdbc的集群连接 -->
                    <property name="brokerURL" value="failover:(tcp://192.168.1.100:61616,tcp://192.168.1.100:61626,tcp://192.168.1.100:61636)?randomize=false" /> 
                        
                     <!-- 是否异步发送 -->  
                    <property name="useAsyncSend" value="true" />  
                </bean>  
            </property>  
        </bean>
  • 相关阅读:
    Xsheel远程链接ECS,Xftp上传文件到ECS
    javaEE 转发 和 重定向
    android 快速开发框架
    java/Android String.split 字符串分割
    Android 选择本地图片的demo
    docker swarm 集群进入某节点容器失败的原因及解决方法
    nginx中有关 root 和 alias的主要区别
    docker研究-2
    docker研究-1
    mysql数据库表操作-表的主键索引和普通索引
  • 原文地址:https://www.cnblogs.com/shihaiming/p/6018423.html
Copyright © 2020-2023  润新知