activemq介绍 ActiveMQ是开源的,支持多种协议(CORE,AMQP,MQTT,JMS...), 基于java的消息系统(或消息中间件)。...它支持业界标准协议,这样有利于客户端的选择(从c,c++,python,.net等) 当期有2个版本的ActiveMQ ActiveMQ "Classic" ActiveMQ Artemis 因为Artemis...是下一代的ActiveMQ,所以后面介绍基于Artemis。...ActiveMQ Artemis 下一代高性能,非阻塞架构,基于事件驱动的消息系统 特性: 提供实现JMS 1.1 & 2.0 的客户端,包含JNDI 通过共享存储和网络复制提供高可用 简单&强大的协议无感知的寻址模型...(addressing model) 灵活的集群用于分布式负载 基于日志的低延迟持久化 方便从ActiveMQ 5迁移 使用 下载Artemis,并解压 创建Broker Instance 执行 ${
编译代码 代码版本选用2.26.0的分支代码编译花了17分钟 梳理流程 测试用例 org/apache/activemq/artemis/jms/tests/TopicTest.java @Testpublic...org.apache.activemq.artemis.core.client.impl.ClientConsumerImpl#receive(long, boolean) 获取消息重点还是得看这段代码...m = buffer.poll(),buffer是一个PriorityLinkedList集合获取到用户连接。...closed && toWait > 0) { 然后从buffer里面读取byte数组 org.apache.activemq.artemis.api.core.SimpleString#readSimpleString...引用 https://activemq.apache.org/components/artemis/documentation/hacking-guide/
如果使用 spring-boot-starter-activemq ,则提供连接或嵌入ActiveMQ实例的必要依赖项,以及与JMS集成的Spring基础结 构。...配置后者时,Spring Boot使用默认设置配置连接到本地计算机上运行的代理的 ConnectionFactory 。...如果使用 spring-boot-starter-artemis ,则会提供连接到现有Artemis实例的必要依赖项,以及与JMS集成的Spring基础结 构。...将 org.apache.activemq:artemis-jms-server 添加到您的应用程序可让您使用嵌入模式。 Artemis配置由 spring.artemis.* 中的外部配置属性控制。...或 org.apache.activemq.artemis.jms.server.config.TopicConfiguration 类型的bean。
如果搞个服务器装就太辛苦了,所以就想到了 NAS,我们的 NAS 上已经装了 Docker,我们直接运行一个 Activemq Artemis 的镜像不就好了。...然后输入 activeMq 进行查找。选择已经找到的镜像,然后单击页面上部的下载按钮。选择最新版本。直接单击应用就好。我们可以看到在界面中,提示进行正在下载,在这里根据你网络的情况可能需要点时间。...访问消息服务器ActiveMQ Artemis 的管理界面使用的端口是 8161。直接访问上面的地址。...使用的登录用户名和密码是在你创建容器的时候默认输入的,如果你没有改过,用户名密码都为:artemis上图就显示的是当前正在运行的消息服务器。...https://www.isharkfly.com/t/synology-nas-docker-activemq-artemis/14879
---- 安装 ActiveMQ Classic或者ActiveMQ Artemis的关系: ActiveMQ Classic原来就叫ActiveMQ,是Apache开发的基于JMS 1.1的消息服务器...,目前稳定版本号是5.x ActiveMQ Artemis是由RedHat捐赠的HornetQ服务器代码的基础上开发的,目前稳定版本号是2.x。...所以,我们这里直接选择ActiveMQ Artemis。...执行命令artemis create jms-data: 在创建过程中,会要求输入连接用户和口令,这里我们设定admin和password,以及是否允许匿名访问(这里选择N)。...VM Transport Bridge(VM传输桥):这是ActiveMQ提供的用于连接不同Java虚拟机(JVM)之间的In-JVM通信的协议。
但是这个方式的缺点在于,如果ActiveMQ服务器由于某些原因停止工作的话,运行于JBoss中的JMS生产者将会失败,消费者也将会断开连接并且需要重连(译者注:原文拼写错误,误将reconnect拼写为... 模块,并连接到了运行在 tcp://localhost:61616上的远程ActiveMQ服务器上。...这样就创建了一个桥接器,它使用名为ConnectionFactory 的连接工厂来消耗本地队列里的消息,该队列对应的JNDI名字是queue/JMSBridgeSourceQ。...随后它将使用一个名为AMQConnectionFactory 的连接工厂(它由我们的资源适配器创建)来把消息发送到JNDI名称为queue/JMSBridgeTargetQ的本地队列中。...这就是所有必需的配置文件.我们应该可以启动WildFly服务,看到桥接开始工作并连接到ActiveMQ. 13:43:11,959 INFO [org.jboss.as.remoting] (MSC
序 本文主要研究一下artemis的ConnectionLoadBalancingPolicy ServerLocatorImpl.selectConnector activemq-artemis-2.11.0.../artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ServerLocatorImpl.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/loadbalance/ConnectionLoadBalancingPolicy.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/loadbalance/RandomConnectionLoadBalancingPolicy.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/loadbalance/RoundRobinConnectionLoadBalancingPolicy.java
序 本文主要研究一下artemis的ConnectionLoadBalancingPolicy th (3).jpeg ServerLocatorImpl.selectConnector activemq-artemis...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ServerLocatorImpl.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/loadbalance/ConnectionLoadBalancingPolicy.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/loadbalance/RandomConnectionLoadBalancingPolicy.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/client/loadbalance/RoundRobinConnectionLoadBalancingPolicy.java
序 本文主要研究一下artemis的callFailoverTimeout establishNewConnection activemq-artemis-2.11.0/artemis-core-client...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/ActiveMQClientProtocolManager.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/RemotingConnectionImpl.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/ChannelImpl.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java
序 本文主要研究一下artemis的confirmationWindowEnabled confirmationWindowEnabled activemq-artemis-2.11.0/artemis-core-client...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientSessionImpl.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat
序 本文主要研究一下artemis的QuorumManager th (1).jpeg ClusterTopologyListener activemq-artemis-2.11.0/artemis-core-client...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/QuorumManager.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/QuorumManager.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/QuorumManager.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java
序 本文主要研究一下artemis的QuorumManager ClusterTopologyListener activemq-artemis-2.11.0/artemis-core-client/src...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/QuorumManager.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/QuorumManager.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/qourum/QuorumManager.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/cluster/ClusterController.java
activemq-artemis-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java...; } //...... } ConfigurationImpl定义了connectionTtlCheckInterval属性,默认为2000 RemotingServiceImpl activemq-artemis...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/server/impl/RemotingServiceImpl.java...connectionTtlCheckInterval创建了FailureCheckAndFlushThread,并执行failureCheckAndFlushThread.start()方法 FailureCheckAndFlushThread activemq-artemis...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/server/impl/RemotingServiceImpl.java
序 本文主要研究一下artemis的connectionTtlCheckInterval connectionTtlCheckInterval activemq-artemis-2.11.0/artemis-server.../src/main/java/org/apache/activemq/artemis/core/config/impl/ConfigurationImpl.java public class ConfigurationImpl...this; } //...... } ConfigurationImpl定义了connectionTtlCheckInterval属性,默认为2000 RemotingServiceImpl activemq-artemis...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/server/impl/RemotingServiceImpl.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/remoting/server/impl/RemotingServiceImpl.java
序 本文主要研究一下artemis的DelayedAddRedistributor exchanges-topic-fanout-direct.png addRedistributor activemq-artemis...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java protected...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public
序 本文主要研究一下artemis的ExpiryScanner pe_mco_diagram.png startExpiryScanner activemq-artemis-2.11.0/artemis-server...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java class...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public
序 本文主要研究一下artemis的scheduledDeliveryTime HDR_SCHEDULED_DELIVERY_TIME activemq-artemis-2.11.0/artemis-core-client...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/postoffice/impl/PostOfficeImpl.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public
序 本文主要研究一下artemis的ActiveMQMetricsPlugin ActiveMQMetricsPlugin activemq-artemis-2.11.0/artemis-server/...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/metrics/plugins/SimpleMetricsPlugin.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/metrics/plugins/LoggingMetricsPlugin.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/deployers/impl/FileConfigurationParser.java...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/metrics/MetricsManager.java
序 本文主要研究一下artemis message的priority priority activemq-artemis-2.11.0/artemis-core-client/src/main/java.../org/apache/activemq/artemis/core/message/impl/CoreMessage.java public class CoreMessage extends RefCountMessage...-2.11.0/artemis-server/src/main/java/org/apache/activemq/artemis/core/server/impl/QueueImpl.java public...-2.11.0/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/collections/PriorityLinkedList.java...-2.11.0/artemis-commons/src/main/java/org/apache/activemq/artemis/utils/collections/PriorityLinkedListImpl.java
序 本文主要研究一下artemis的confirmationWindowEnabled introduction-to-apache-activemq-artemis-6-638.jpg confirmationWindowEnabled...activemq-artemis-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/client/impl/ClientProducerImpl.java...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat...-2.11.0/artemis-core-client/src/main/java/org/apache/activemq/artemis/core/protocol/core/impl/wireformat
领取专属 10元无门槛券
手把手带您无忧上云