生成图标网站,家具网站php源码,北京大型网站开发,有没有免费做片头的网站为了避免服务器宕机而导致消息丢失#xff0c;ActiveMQ提供消息持久化机制。
ActiveMQ提供多种消息持久化的方式#xff0c;如LevelDB Store、KahaDB 、AMQ、JDBC等#xff0c;详情可以访问官网。
ActiveMQ默认是使用KahaDB持久化消息。在/conf/activemq.xml如下配置…为了避免服务器宕机而导致消息丢失ActiveMQ提供消息持久化机制。
ActiveMQ提供多种消息持久化的方式如LevelDB Store、KahaDB 、AMQ、JDBC等详情可以访问官网。
ActiveMQ默认是使用KahaDB持久化消息。在/conf/activemq.xml如下配置
persistenceAdapterkahaDB directory${activemq.data}/kahadb/
/persistenceAdapterKahaDB是一个文件型数据库是以日志形式保存到文件来保证消息的持久化。 本篇博客主要介绍如果使用JDBC方式持久化消息我选择MySQL作为存储数据库。
配置数据源
首先需要在mysql中新建数据库activemq然后在/conf/activemq.xml配置如下数据源。注意在/lib目录下需要添加mysql-connector-java-5.1.44.jar、druid-1.1.9.jar两个Jar包版本可自选。
bean idmysql-ds classcom.alibaba.druid.pool.DruidDataSourcedestroy-methodcloseproperty nameurl valuejdbc:mysql://localhost:3306/activemq?relaxAutoCommittrue/property nameusername valueroot/property namepassword valueroot/property nameinitialSize value1 / property nameminIdle value1 / property namemaxActive value10 /property namepoolPreparedStatements valuetrue/
/bean引用数据源
!--
persistenceAdapterkahaDB directory${activemq.data}/kahadb/
/persistenceAdapter
--persistenceAdapterjdbcPersistenceAdapter dataSource#mysql-ds /
/persistenceAdapter启动
启动之后数据库中就可以看见activemq_acks、activemq_lock、activemq_msgs三张表。
数据库信息
activemq_acks存储订阅关系。
字段类型描述CONTAINERvarchar消息的DestinationSUB_DESTvarchar如果是使用static集群则会有集群其他系统的信息CLIENT_IDvarchar每个订阅者的客户端IDSUB_NAMEvarchar订阅者名称SELECTORvarchar选择器可以选择只消费满足条件的消息LAST_ACKED_IDbigint最后一次确认ID该订阅者最后一次收到的消息的IDPRIORITYbigint优先级值越大优先级越高XIDvarchar–
activemq_msgs存储消息。
字段类型描述IDbigint主键IDCONTAINERvarchar消息的DestinationMSGID_PRODvarchar消息发送者客户端的主键MSGID_SEQbigint发送消息的顺序MSGID_PRODMSG_SEQ可以组成JMS的MessageIDEXPIRATIONbigint消息的过期时间存储的是从1970-01-01到现在的毫秒数MSGlongblob消息内容PRIORITYbigint优先级值越大优先级越高XIDvarchar–
activemq_lock存储锁信息。
字段类型描述IDbigint主键IDTIMEbigint时间BROKER_NAMEvarchar拥有锁的Broker的名称