Christian Posta bio photo

Christian Posta

Global Field CTO at solo.io, author 'Istio in Action', 'AI Gateways in the Enterprise' and other books. He is known for being an architect, speaker, blogger and contributor to AI and infrastructure open-source projects.

LinkedIn Twitter Github Stackoverflow

I saw a question on the mailing list asking for a simple, stripped-down, version of ActiveMQ. The default version 5.7.0 distribution and all of its runtime dependencies come in at about 44MB. I was able to get a working, "lean" version going at about 7.4MB.

First of course, some of the requirements:

Only one protocol would be used (the native OpenWire), no web console, no security, no camel, etc, etc. Simple, JMS provider with no frills.

Here's what my $ACTIVEMQ_BASE/lib folder looks like

  • activemq-console-5.7.0.jar
  • activemq-core-5.7.0.jar
  • geronimo-j2ee-management_1.1_spec-1.0.1.jar
  • geronimo-jms_1.1_spec-1.1.1.jar
  • jcl-over-slf4j-1.6.6.jar
  • kahadb-5.7.0.jar
  • slf4j-api-1.6.6.jar
  • optional/activemq-spring-5.7.0.jar
  • optional/log4j-1.2.17.jar
  • optional/slf4j-log4j12-1.6.6.jar
  • optional/spring-aop.3.0.7.RELASE.jar
  • optional/spring-asm.3.0.7.RELASE.jar
  • optional/spring-beans.3.0.7.RELASE.jar
  • optional/spring-context.3.0.7.RELASE.jar
  • optional/spring-core.3.0.7.RELASE.jar
  • optional/spring-expression.3.0.7.RELASE.jar
  • optional/spring-jms.3.0.7.RELASE.jar
  • optional/spring-oxm.3.0.7.RELASE.jar
  • optional/spring-tx.3.0.7.RELASE.jar
  • optional/xbean-spring-3.11.1.jar

Give it a shot! If someone spots more dependencies that can safely be removed, let me know!

UPDATED: As Gary pointed out, all the spring deps can be eliminated if doing embedded broker. I've put together an example here: at my github repo