windows activemq jdbc主从配置

activemq提供了四种配置方案来配置HA,详见https://www.cnblogs.com/hapjin/p/5663024.html,

我们本次使用Shared Database Master/Slave方式,操作系统为windows。

 

使用 jdbc 方式配置主从模式,持久化消息存放在数据库中。

在同一时刻,只有一个 master broker,master 接受客户端的连接,slave 不接受连接。
当 master 因为关机而下线后,其中一个 slave 会提升为 master,然后接受客户端连接。但原来 master 的非持久消息丢失了,而持久消息保存在数据库中。

 

activemq.xml配置,注释kahaDB,新增jdbcPersistenceAdapter,新增bean id="mysql-ds"。

jdbcPersistenceAdapter配置中,dataSource为新增的bean id

createTablesOnStartup表示启动时自动创建activemq需要的表,之后可以修改为false

useDatabaseLock设置为true是开启了独占模式,只有获取到锁的节点为master节点,其他都为slave节点,默认只有master节点提供服务,master节点挂掉,释放了锁之后,另外一个获取到锁的slave节点会升级为master节点。

数据源这里选用mysql,这里要注意的是,首先在数据库创建对应库、用户,然后需要将连接mysql所需jar包:mysql-connector-java-5.1.46.jar,commons-dbcp-1.4.jar,commons-pool-1.6.jar,commons-collections-3.2.2.jar,放到F:\worksoft\apache-activemq-5.15.4\lib下。





    
    
        
            file:${activemq.conf}/credentials.properties
        
    

   
    
    

    
    

        
            
              
                
                    
                  
                    
                  
                
              
            
        


        
        
            
        

        
        
        		
            
        


          
          
            
                
                    
                
                
                    
                
                
                    
                
            
        

        
        
            
            
            
            
            
            
        

        
        
            
        

    
    
    
    
        
        
        
        
        
    

    
    


之后重启服务,数据库会自动生成对应表

windows activemq jdbc主从配置_第1张图片

客户端连接时配置修改为:

原连接串: tcp://192.168.1.104:61616

主备连接串: failover:(tcp://192.168.1.104:61616,tcp://192.168.1.105:61616)

参考:

https://blog.csdn.net/vtopqx/article/details/51649654

https://blog.csdn.net/qq_22543991/article/details/81389328

你可能感兴趣的:(消息队列)