Fix the RocketMQ async-send callback NPE, and the client-java plugin with newer clients (#848)

* rocketMQ-5.x: skip callbacks without SendCallBackEnhanceInfo in OnSuccessInterceptor.
  Since rocketmq-client 5.1.4 the producer wraps every async-send callback in
  BackpressureSendCallBack, and the wrapped callback threw an NPE and stopped the
  wrapper's span, whose afterMethod then threw a second NPE (apache/skywalking#14189).
* rocketMQ-client-java-5.x: intercept every PushConsumerImpl constructor taking the
  ClientConfiguration and the MessageListener, so push-consumer spans get their peer
  and mq.broker again with rocketmq-client-java 5.0.8 or later.
* rocketMQ-client-java-5.x: stop rebuilding the sent message, which dropped the lite
  topic and the priority. Inject the span into the producer's PublishingMessageImpl
  copy and add the headers to the properties it sends.
* Test rocketmq-client 5.5, and rocketmq-client-java 5.0, 5.1 and 5.2.
15 files changed
tree: 5a66eab84111ef80a6dfea5a3ca3a869573bfa67
  1. .claude/
  2. .github/
  3. .mvn/
  4. apm-application-toolkit/
  5. apm-checkstyle/
  6. apm-commons/
  7. apm-protocol/
  8. apm-sniffer/
  9. changes/
  10. dist-material/
  11. docs/
  12. test/
  13. tools/
  14. .asf.yaml
  15. .dlc.json
  16. .dockerignore
  17. .gitignore
  18. .gitmodules
  19. .licenserc.yaml
  20. CHANGES.md
  21. CLAUDE.md
  22. codeStyle.xml
  23. CONTRIBUTING.md
  24. Dockerfile
  25. HEADER
  26. LICENSE
  27. lombok.config
  28. Makefile
  29. mvnw
  30. mvnw.cmd
  31. NOTICE
  32. pom.xml
  33. README.md
README.md

Apache SkyWalking Java Agent

GitHub stars Twitter Follow

Maven Central CI

SkyWalking-Java: The Java Agent for Apache SkyWalking, which provides the native tracing/metrics/logging abilities for Java projects.

SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based (Docker and Kubernetes) architectures.

Documentation

Downloads

Please head to the releases page to download a release of Apache SkyWalking.

Code of conduct

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please follow the REPORTING GUIDELINES to report unacceptable behavior.

Live Demo

Find the demo and screenshots on our website.

Contact Us

  • Mail list: dev@skywalking.apache.org. Mail to dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail list.
  • Send Request to join SkyWalking slack mail to the mail list(dev@skywalking.apache.org), we will invite you in.
  • For Chinese speaker, send [CN] Request to join SkyWalking slack mail to the mail list(dev@skywalking.apache.org), we will invite you in.
  • Twitter, ASFSkyWalking
  • bilibili B站 视频

License

Apache 2.0 License.