Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Lean distribution of ActiveMQ

DZone's Guide to

Lean distribution of ActiveMQ

· Integration Zone
Free Resource

The Integration Zone is brought to you in partnership with Cloud Elements. What's below the surface of an API integration? Download The Definitive Guide to API Integrations to start building an API strategy.

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!

Your API is not enough. Learn why (and how) leading SaaS providers are turning their products into platforms with API integration in the ebook, Build Platforms, Not Products from Cloud Elements.

Topics:

Published at DZone with permission of Christian Posta, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

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

{{ parent.tldr }}

{{ parent.urlSource.name }}