Over a million developers have joined DZone.
Portal Partner

Lean distribution of ActiveMQ

· Integration Zone

The Integration Zone is brought to you in partnership with Red Hat. Use these flashcards along with the popular open source integration framework Apache Camel as an easy reference during the design and development of integration projects.

I saw a question on the mailing list asking for a simple, stripped-down, version of ActiveMQ. The default 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!

The Integration Zone is brought to you in partnership with Red Hat.  Discover how your integration architecture may be holding you back and 3 considerations for fixing it.

Topics:

Published at DZone with permission of Christian Posta , DZone MVB .

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}