ActiveMQ源码-BrokerService和PersistenceAdapter

activemq-broker 模块 test/java 目录下有个 IDERunner 类: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 public class IDERunner { private static final boolean TRANSPORT_TRACE = false; public static void main(String[]args) throws Exception { BrokerService brokerService = new BrokerService(); // brokerService.addConnector( // "tcp://0.0.0.0:61616?trace=" + TRANSPORT_TRACE + // "&transport.wireFormat.maxFrameSize=104857600"); brokerService.setPersistent(false); brokerService.setUseJmx(false); brokerService.setAdvisorySupport(false); brokerService.start(); brokerService.waitUntilStopped(); } } 注释掉 brokerService 调用 addConnector 方法的三行代码,然后 debug 运行该类的 main 方法。 ...

2024-08-27 · 9 min · 4479 words · chensoul

ThingsBoard源码编译和Idea运行

ThingsBoard 源码地址:https://github.com/thingsboard/thingsboard,从 3.7 版本之后,要求 JDK17。官方提供了源码编译的文档:Building from sources 源码编译 下载代码: 1 git clone [email protected]:thingsboard/thingsboard.git 设置当前 JDK 版本为 17 以上。这里我使用 sdkman 切换 java。 1 sdk use java 17.0.12-tem 终端编译源码: 1 2 cd thingsboard mvn clean install -Dmaven.test.skip=true 如果在编译过程中提示找不到 Gradle: ...

2024-08-27 · 2 min · 668 words · chensoul

ActiveMQ源码本地调试运行

源码构建 1、从 https://github.com/apache/activemq 下载源码 1 git clone https://github.com/apache/activemq 2、切换至 activemq-5.18.x 分支 1 2 cd activemq git checkout activemq-5.18.x 3、构建源码 1 mvn package -DskipTests 构建成功之后,在 assembly/target 目录可以看到打包好的压缩文件。 在 Idea 中运行代码 activemq-console 在 Idea 中运行代码 activemq-console,启动 activemq: 1、在 idea 中打开项目 ...

2024-08-09 · 2 min · 732 words · chensoul

Github Action 发布 Jar 到 Maven 中央仓库

作为一名 Java 开发者,将自己的项目发布到 Maven 中央仓库是一个非常重要的步骤。这不仅可以让更多的开发者发现和使用您的项目,也可以提高项目的知名度和影响力。 在过去,发布 Jar 到 Maven 中央仓库通常需要手动完成一系列繁琐的步骤,比如:申请 JIRA 账号、创建 Sonatype JIRA Issure、上传 Jar 包、签名 Jar 包等。但是随着 Github Action 的出现,这个过程变得更加自动化和简单。 ...

2024-08-01 · 6 min · 2889 words · chensoul

[译]JMS 2.0 中的新增功能

原文链接:What is new in JMS 2.0 在在软件集成领域,从一个软件组件到另一个软件组件进行通信是一项基本要求。虽然已经出现了许多具有这种能力的技术,但 Java 编程语言为我们提供了一个 API,以促进用 Java 编写的组件之间的消息传递。此 API 的实现将由不同的供应商(JMS 提供商)通过代理软件提供。 ...

2024-07-24 · 6 min · 2750 words · chensoul

[译]JMS 2.0 中的新增功能(第一部分)- 易于使用

原文链接:https://www.oracle.com/technical-resources/articles/java/jms20.html 作者:Nigel Deakin 出版日期:2013 年 5 月 了解新的易用性功能如何使您编写更少的代码行。 本文是两部分系列文章的第一部分,假设读者对 Java 消息服务 (JMS) 1.1 有基本了解,并介绍了 JMS 2.0 中的一些新的易用特性。在第二部分中,我们将介绍新的消息传递特性。 ...

2024-07-24 · 19 min · 9292 words · chensoul

[译]JMS 2.0 中的新增功能(第二部分)- 新的消息传送功能

原文链接:https://www.oracle.com/technical-resources/articles/java/jms2messaging.html 作者:Nigel Deakin 出版日期:2013 年 5 月 了解如何利用 JMS 2.0 中的新消息传递功能。 本文是两部分系列文章中的第二部分,介绍了 Java 消息服务 (JMS) 2.0 中引入的一些新消息传递功能。本文假设读者对 JMS 1.1 有基本的了解。 ...

2024-07-24 · 12 min · 5778 words · chensoul

[译]JMS 2.0 的十个好处意味着可以减少代码编写量

原文链接:Ten ways in which JMS 2.0 means writing less code 这里有十个简单的例子,说明 JMS 2.0 比 JMS 1.1 需要更少的代码。 单一 JMSContext 而不是单独的 Connection 和 Session 对象 JMS 2.0 简化 API 引入了一个新对象, JMSContext 它提供了与 JMS 1.1 API 中的分隔 Connection 对象 Session 相同的功能: JMS 1.1 1 2 Connection connection = connectionFactory.createConnection(); Session session = connection.createSession(false,Session.AUTO_ACKNOWLEDGE); JMS 2.0 ...

2024-07-24 · 4 min · 1582 words · chensoul

[译]JMS 事务的实际应用

在本文中,您将了解如何选择性地使用 JMS 事务。在 JMS 中,您可以选择控制一个会话的原子操作。每个会话都支持一系列事务。每个事务将一组生成或使用的消息分组为一个原子工作单元。确保您已经理解了JMS 中的消息确认。 交易提交时 – ( jmsContext.commit()) ...

2024-07-23 · 2 min · 644 words · chensoul

[译]JMS 发布-订阅消息模型

在本文中,您将了解 JMS 发布-订阅 (publish-subscribe) 消息传递模型。正如您在JMS 简介文章中所读到的,在发布/订阅模型中,客户端通过称为主题的中介将消息发送给多个接收者。发送者通常称为发布者,接收者称为订阅者。 JMS 发布/订阅消息传递示例 下面是一个简单的代码示例,演示了发布/订阅消息模型的工作原理。我创建了 2 个主线程,publisher和subscriber1。将订阅者 1 克隆到subscriber2。所以基本上我有一个消息发布者和 2 个消息订阅者。链接至GitHub 。 ...

2024-07-23 · 5 min · 2311 words · chensoul