Giter VIP home page Giter VIP logo

rocketmq-spring-boot-starter's People

Contributors

thierrysquirrel avatar

Stargazers

 avatar  avatar

Watchers

 avatar

rocketmq-spring-boot-starter's Issues

多环境可以支持吗?

比如我的mq的topic,group每个环境都不一样,如果在注解中的代码里写死很麻烦吧

分区顺序消息

分区顺序消息应该是没支持吧,目前shardingkey在OrderMessage注解中只是一个值,应该达不到分区顺序消息的需求

引入后 启动项目时 报错

image

Error:(4, 45) java: 无法访问com.github.thierrysquirrel.annotation.EnableRocketMQ
错误的类文件: /D:/repo/com/github/thierrysquirrel/rocketmq-spring-boot-autoconfigure/2.3.0.6-RELEASE/rocketmq-spring-boot-autoconfigure-2.3.0.6-RELEASE.jar!/com/github/thierrysquirrel/annotation/EnableRocketMQ.class
类文件具有错误的版本 55.0, 应为 52.0
请删除该文件或确保该文件位于正确的类路径子目录中。

注册 Consumer 的问题

在这一段代码中 会根据 MessageListener 的注解来注册 consumer
image
但是当出现多个 MessageListener 的时候会在 阿里云控制台注册多个 consumer 那这个消费岂不是针对方法级别的了
` @MessageListener(topic = "sdongpos-common",tag = "order")
public void consumerOrderMsg(String message) {
System.out.println("consumerMsg : "+message);
}

@MessageListener(topic = "sdongpos-common",tag = "commonA")
public void consumerCommonMsg(String message) {
    System.out.println("consumercommonMsg : "+message);
}

@MessageListener(topic = "sdongpos-common",tag = "commonB")
public void consumerCommonBMsg(String message) {
    System.out.println("consumercommonMsg : "+message);
}

`这个是阿里云控制台的图片
image

默认的DefaultMessageListener实现BUG

<dependency>
            <artifactId>rocketmq-spring-boot-starter</artifactId>
            <groupId>com.github.thierrysquirrel</groupId>
            <version>2.0.6-RELEASE</version>
        </dependency>

如果用户只是想接收到字符串
图片
那么如果消息中的如果带有“:” 则解析会直接抛出解析异常
可以在实现的时候判断下如果接收者要的就是String类型 那么可以不用做json转换

No route info for this topic

想法非常好,但是报No route info for this topic

我加了:@EnableRocketMQ
有没有需要注意的点

TransactionMessage能否支持自定义LocalTransactionChecker?

PutProducerStrategy中指定使用DefaultLocalTransactionChecker,这个checker应该是需要自己根据各自的业务去自行扩展的吧。 另外TransactionMessage注解中transactionStatus属性也有点不理解,不应该是根据checker里的查询结果返回不同的status吗?

异步多线程处理,处理失败抛出的RocketException异常,可以执行Action.ReconsumeLater?

@MessageListener(topic = "message",tag = "message")
public void delayed(String message) {
// 异步多线程处理,处理失败抛出的RocketException异常,可以执行Action.ReconsumeLater?
asynTask.do();
}

我看源码里面是抛出异常就会执行ACK
public Action consume(Message message, ConsumeContext context) {
log.info(">>>>listener message:{}>>>>", message);
try {
super.getMethodFactoryExecution().methodExecution(message.getBody());
} catch (RocketException e) {
super.printErrorLog();
return Action.ReconsumeLater;
}
return Action.CommitMessage;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.