OpenMessaging

本地启动 NameServer 和 Broker | 读 RocketMQ 源码前的准备工作

情到浓时终转凉″ 提交于 2020-08-05 02:46:32
clone 并导入源码 本地启动 NameServer 本地启动 Broker 本地运行生产者与消费者代码 完成上述步骤之后,RocketMQ的源码环境就搭建完毕了,之后就可以在本地启动以及收发消息,调试和分析RocketMQ的源码了。 clone 并导入源码 在 github 上选择对应的的代码 https://github.com/apache/rocketmq/tree/rocketmq-all-4.7.0,将其 clone 下来,再切出 4.7.0 版本的源码。Clone 到本地之后,用 IDEA 打开项目。 项目结构 模块 作用 broker Broker 相关代码 client Producer、Consumer 客户端代码,用于生产消息、消费消息 common 公共代码 dev 开发相关的信息 distribution 部署相关,比如配置文件 example 例子 filter 过滤器 logappender 日志相关 logging 日志相关 namesvr NameServer openmessaging 开放消息标准 remoting 远程网络通信,基于 netty 实现 srvutil 工具类 store 消息如何在 Broker 中进行存储相关代码 style 代码检查 test 测试 tools 命令行监控 本地启动 NameServer

阿里巴巴的26款超神Java开源项目

情到浓时终转凉″ 提交于 2020-04-06 12:13:59
1.分布式应用服务开发的一站式解决方案 Spring Cloud Alibaba Spring Cloud Alibaba 致力于提供分布式应用服务开发的一站式解决方案。此项目包含开发分布式应用服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。 依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里分布式应用解决方案,通过阿里中间件来迅速搭建分布式应用系统。 地址: https://github.com/spring-cloud-incubator/spring-cloud-alibaba 2. JDBC 连接池、监控组件 Druid Druid是一个 JDBC 组件。 1.监控数据库访问性能。 2.提供了一个高效、功能强大、可扩展性好的数据库连接池。 3.数据库密码加密。 4.SQL执行日志。 地址: https://github.com/alibaba/druid 3. Java 的 JSON 处理器 fastjson fastjson 是一个性能很好的 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发。 主要特点:快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson);强大

聊聊openmessaging-java

微笑、不失礼 提交于 2019-12-24 18:03:47
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 序 本文主要研究一下openmessaging-java maven <dependency> <groupId>io.openmessaging</groupId> <artifactId>openmessaging-api</artifactId> <version>0.3.1-alpha</version> </dependency> maven最新的是0.3.1-alpha,这里直接用源码的0.3.2-alpha-SNAPSHOT producer Producer openmessaging-java/openmessaging-api/src/main/java/io/openmessaging/producer/Producer.java /** * A {@code Producer} is a simple object used to send messages on behalf * of a {@code MessagingAccessPoint}. An instance of {@code Producer} is * created by calling the {@link MessagingAccessPoint#createProducer()} method. * <p>

聊聊AbstractOMSProducer

时光怂恿深爱的人放手 提交于 2019-12-24 18:03:28
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 序 本文主要研究一下AbstractOMSProducer AbstractOMSProducer io/openmessaging/rocketmq/producer/AbstractOMSProducer.java abstract class AbstractOMSProducer implements ServiceLifecycle, MessageFactory { final static Logger log = ClientLogger.getLog(); final KeyValue properties; final DefaultMQProducer rocketmqProducer; private boolean started = false; final ClientConfig clientConfig; AbstractOMSProducer(final KeyValue properties) { this.properties = properties; this.rocketmqProducer = new DefaultMQProducer(); this.clientConfig = BeanUtils.populate(properties,

open-messaging使用实例

岁酱吖の 提交于 2019-12-24 18:03:10
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 序 本文主要展示一下open-messaging使用实例 consumer PullConsumer openmessaging-java/openmessaging-api-samples/src/main/java/io/openmessaging/samples/consumer/PullConsumerApp.java public class PullConsumerApp { public static void main(String[] args) throws OMSResourceNotExistException { //Load and start the vendor implementation from a specific OMS driver URL. final MessagingAccessPoint messagingAccessPoint = OMS.getMessagingAccessPoint("oms:rocketmq://alice@rocketmq.apache.org/us-east"); messagingAccessPoint.startup(); //Fetch a ResourceManager to create Queue resource.

聊聊openmessaging的MessagingAccessPoint

房东的猫 提交于 2019-12-24 17:50:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 序 本文主要研究一下openmessaging的MessagingAccessPoint MessagingAccessPoint openmessaging-java/openmessaging-api/src/main/java/io/openmessaging/MessagingAccessPoint.java /** * An instance of {@code MessagingAccessPoint} may be obtained from {@link OMS}, which is capable of creating {@code * Producer}, {@code Consumer}, {@code ResourceManager}, and other facility entities. * <p> * For example: * <pre> * MessagingAccessPoint messagingAccessPoint = OMS.getMessagingAccessPoint("oms:rocketmq://alice@rocketmq.apache.org/us-east:default_space"); * messagingAccessPoint