fix: Use bom for all netty artifact version and fix joram tests (#2817)

* Align the netty native transports from qpid-jms with netty-version

activemq-amqp set the netty core jars to netty-version for its tests, but
qpid-jms-client still brought netty-transport-native-epoll and the epoll
classes at its own 4.1 version. netty 4.2.20 added a JNI method to
io.netty.channel.unix.Errors that the 4.1 native library does not have, so on
Linux every qpid connection failed with UnsatisfiedLinkError and the whole
AMQP test module went red. Import the netty BOM so every netty artifact,
natives included, resolves to netty-version, and drop the per-artifact
version tags in activemq-amqp since the BOM now supplies them.

* Release JORAM JNDI bindings when setUp fails

JUnit 3 does not call tearDown when setUp throws, and tearDown stopped at the
first failing step, so one failed connection left testQCF or testTCF bound
and every later test in the class failed with NameAlreadyBoundException. Each
test case now cleans up from the setUp failure path as well, closing each
connection and unbinding each name on its own.
6 files changed
tree: c0c6bb78bfe319b2604d2a7996a401fc201eef15
  1. .github/
  2. activemq-all/
  3. activemq-amqp/
  4. activemq-blueprint/
  5. activemq-broker/
  6. activemq-cf/
  7. activemq-client/
  8. activemq-console/
  9. activemq-http/
  10. activemq-jaas/
  11. activemq-jaas-oauth2/
  12. activemq-jdbc-store/
  13. activemq-jms-pool/
  14. activemq-kahadb-store/
  15. activemq-karaf/
  16. activemq-karaf-itest/
  17. activemq-log4j-appender/
  18. activemq-mqtt/
  19. activemq-opentelemetry/
  20. activemq-openwire-generator/
  21. activemq-openwire-legacy/
  22. activemq-osgi/
  23. activemq-pool/
  24. activemq-protobuf/
  25. activemq-protobuf-test/
  26. activemq-ra/
  27. activemq-rar/
  28. activemq-run/
  29. activemq-runtime-config/
  30. activemq-shiro/
  31. activemq-spring/
  32. activemq-stomp/
  33. activemq-tooling/
  34. activemq-unit-tests/
  35. activemq-web/
  36. activemq-web-console/
  37. activemq-web-demo/
  38. assembly/
  39. bom/
  40. committer-tools/
  41. docs/
  42. etc/
  43. helm/
  44. .asf.yaml
  45. .gitignore
  46. .ratignore
  47. AGENTS.md
  48. doap.rdf
  49. Jenkinsfile
  50. KEYS
  51. LICENSE
  52. NOTICE
  53. pom.xml
  54. README.md
  55. SECURITY.md
  56. THREAT_MODEL.md
README.md

Welcome to Apache ActiveMQ

Apache ActiveMQ is a high performance Message Broker licensed under Apache 2.0.

ActiveMQ supports several API and protocols:

  • Jakarta Messaging 3.1.0, JMS 2.0 and JMS 1.1.
  • AMQP
  • MQTT
  • HTTP/WS
  • STOMP

ActiveMQ also provides advanced features like:

  • network of brokers
  • scheduling
  • and much more!

Getting Started

To help you get started, try the following links:

Getting Started

  • You need JDK17+ to run Apache ActiveMQ
  • After having extracted ActiveMQ binary distribution, you can start ActiveMQ with ./bin/activemq console (foreground) or ./bin/activemq start
  • Docker images are also available on Docker Hub (https://hub.docker.com/r/apache/activemq)

Building

  • You can build (fast) using Apache Maven: mvn clean install -DskipTests
  • You can build (including all tests) using Apache Maven: mvn clean install

Examples

We welcome contributions of all kinds, for details of how you can help https://activemq.apache.org/contributing.html

Please refer to the website for details of finding the issue tracker, email lists, wiki or Slack channel at https://activemq.apache.org/

Please help us make Apache ActiveMQ better - we appreciate any feedback you may have.

Enjoy!

Licensing

This software is licensed under the terms you may find in the file named “LICENSE” in this directory.

This distribution includes cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See https://www.wassenaar.org/ for more information.

The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.

The following provides more details on the included cryptographic software:

ActiveMQ supports the use of SSL TCP connections when used with with a JVM supporting the Java Cryptography extensions https://www.oracle.com/java/technologies/javase/javase-tech-security.html. ActiveMQ does not include these libraries itself, but is designed to use them.