How can I contribute to Apache ActiveMQ?

There are many ways you can help make ActiveMQ a better piece of software - please dive in and help!

Try surf the documentation - if somethings confusing or not clear, let us know. Download the code & try it out and see what you think. Browse the source code. Got an itch to scratch, want to tune some operation or add some feature?

Want to do some hacking on ActiveMQ? Try surfing the our issue tracker for open issues or features that need to be implemented, take ownership of an issue and try fix it.

If you'd rather a more gentle introduction to working on the ActiveMQ project, how about you try look at the

test coverage report and help us get it even more green by supplying more test cases to get us closer to 100% coverage.

Getting in touch

There are various ways of communicating with the ActiveMQ community.

If you find a bug or problem

Please raise a new issue in our issue tracker

If you can create a JUnit test case then your issue is more likely to be resolved quicker.
e.g. take a look at some of the existing unit tests cases

Then we can add your issue to Subversion and then we'll know when its really fixed and we can ensure that the problem stays fixed in future releases.

Working on the code

Grab the Source from SVN

svn co https://svn.apache.org/repos/asf/activemq/trunk activemq
cd activemq

Build the project.

export MAVEN_OPTS=-Xmx512M -XX:MaxPermSize=128M
mvn -Dtest=false install

PS: You might need to build multiple times (if you get a build error) because sometimes maven fails to download all the files.

Create a project in your IDE. e.g. if you are using Eclipse the following should do the trick.

mvn eclipse:eclipse

Then import the projects into your workspace.

Creating patches

We gladly accept patches if you can find ways to improve, tune or fix ActiveMQ in some way.

Most IDEs can create nice patches now very easily. e.g. in Eclipse just right click on a file/directory and select Team -> Create Patch. Then just save the patch as a file and then submit it. (You may have to click on Team -> Share... first to enable the Subversion options). Incidentally if you are an Eclipse user you should install the subclipse plugin.

If you're a command line person try the following to create the patch

diff -u Main.java.orig Main.java >> patchfile.txt

or

svn diff Main.java >> patchfile.txt

Submitting patches

The easiest way to submit a patch is to create a new JIRA issue, attach the patch, tick the Patch Attached button on the issue then fire off an email to the Mailing Lists or Discussion Forums.

Becoming a commmitter

Once you've got involved as above, we may well invite you to be a committer. See Becoming a committer for more details.

Using the issue tracker

Before you can raise an issue in the issue tracker you need to register with it. This is quick & painless.

If you want to have a go at fixing an issue you need to be in the list of activemq-developers on the issue tracker. To join the group, please mail the dev@activemq.codehaus.org mail list with the email address you used to register with the issue tracker and we'll add you to the group.

Why not dive in and try tackle some of our outstanding issues?

Apache ActiveMQ, Apache ServiceMix, Apache Camel (25 issues)
T Key Summary Assignee Reporter Pr Status Res Created Updated Due
Bug AMQ-2303 Durable consumers recovery Dejan Bosanac Dejan Bosanac Major OpenOpen UNRESOLVED Jun 24, 2009 Jun 24, 2009
Bug AMQ-2302 enqueue count, dequeue count and dispatch queue size always 0 for any connections shown in the ActiveMQ web console. Unassigned Torsten Mielke Minor OpenOpen UNRESOLVED Jun 24, 2009 Jun 24, 2009
Bug AMQ-2301 Connection view in ActiveMQ web console lists empty lines. Unassigned Torsten Mielke Minor OpenOpen UNRESOLVED Jun 24, 2009 Jun 24, 2009
New Feature AMQ-2300 Add a new property for the camel component ActiveMQ : createBroker Unassigned Charles Moulliard Major OpenOpen UNRESOLVED Mar 17, 2009 Jun 24, 2009
Bug AMQ-1807 Activemq stops dispatching messages aborting transaction (STOMP) Dejan Bosanac Celso Pinto Critical ReopenedReopened UNRESOLVED Jun 18, 2008 Jun 24, 2009
Bug AMQ-2009 Problem with message dispatch after a while Rob Davies Rajani Chennamaneni Blocker ReopenedReopened UNRESOLVED Nov 20, 2008 Jun 24, 2009
Bug AMQ-2299 Integration Fails in jboss-5.0.0.GA Unassigned vedavathi Major OpenOpen UNRESOLVED Jun 23, 2009 Jun 23, 2009
Bug AMQ-2294 MessageProducer hangs when using many concurrent sessions Unassigned Puneet Gupta Major OpenOpen UNRESOLVED Jun 17, 2009 Jun 20, 2009
Bug AMQ-2297 Upgrade build to use apache's nexus instance and up to date maven practices. David Jencks David Jencks Major OpenOpen UNRESOLVED Jun 18, 2009 Jun 20, 2009
Improvement AMQ-1614 PooledConnectionFactory not JNDI refereceable Rob Davies Linus Larsen Trivial ReopenedReopened UNRESOLVED Mar 08, 2008 Jun 19, 2009
Bug AMQ-2184 Messages keep hanging in JDBCStore without delivery to client Rob Davies Norbert Pfistner Trivial ReopenedReopened UNRESOLVED Mar 26, 2009 Jun 19, 2009
Bug AMQ-2052 unsubscribing a durable subscriber does not properly clean up undelivered messages David Jencks David Jencks Major ReopenedReopened UNRESOLVED Jan 01, 2009 Jun 19, 2009
Bug AMQ-1786 Journal files don't get cleaned up Rob Davies Brian Desai Critical ReopenedReopened UNRESOLVED Jun 10, 2008 Jun 19, 2009
Improvement AMQ-2127 Allow configuring SSLParameters Dejan Bosanac Dejan Bosanac Major OpenOpen UNRESOLVED Feb 19, 2009 Jun 19, 2009
Bug AMQ-2295 Inconsistencies using browseMessages() in JMX on a queue Unassigned David Schlenk Major OpenOpen UNRESOLVED Jun 17, 2009 Jun 18, 2009
New Feature AMQ-1273 allow JDBC master/slave to startup asynchronously so that applications using a slave don't block on startup Unassigned James Strachan Major OpenOpen UNRESOLVED Jun 12, 2007 Jun 18, 2009
Bug AMQ-2296 Connection pool exhausted in JDBC master-slave when slave tries to acquire lock Unassigned Raphaël Ramirez Major OpenOpen UNRESOLVED Jun 18, 2009 Jun 18, 2009
Bug AMQ-2293 ActiveMQ Maven plugin fails to spin up broker in multi module project Unassigned Niels Bertram Major OpenOpen UNRESOLVED Jun 16, 2009 Jun 16, 2009
Bug AMQ-2233 After rollback received messages not re-presented Gary Tully Dave Syer Major OpenOpen UNRESOLVED Apr 28, 2009 Jun 15, 2009
Improvement AMQ-2139 Batch up multiple socket write calls in the TCP transport. Hiram Chirino Hiram Chirino Major OpenOpen UNRESOLVED Feb 23, 2009 Jun 15, 2009
Bug AMQ-2289 Browsing Queue through JMX has unintended side effects for producer flow control Unassigned Dave Syer Major OpenOpen UNRESOLVED Jun 15, 2009 Jun 15, 2009
Bug AMQ-2288 AdvisoryBroker does not set up SecurityContext so advisory message not sent on startup Unassigned Dave Syer Minor OpenOpen UNRESOLVED Jun 15, 2009 Jun 15, 2009
New Feature AMQ-2105 Add support for rpm distribution Unassigned Erik Drolshammer Major OpenOpen UNRESOLVED Feb 12, 2009 Jun 14, 2009
Bug AMQ-2286 NetworkConnector PrefetchSize Unassigned ying Blocker OpenOpen UNRESOLVED Jun 10, 2009 Jun 12, 2009
Bug AMQ-2287 ActiveMQMessage.setXXXProperty() method needs to check if property name is a valid Java identifier. Unassigned Torsten Mielke Major OpenOpen UNRESOLVED Jun 12, 2009 Jun 12, 2009

Becoming a committer

The first step is contributing to the project; if you want to take that a step forward and become a fellow committer on the project then see the Committer Guide

Graphic Design By Hiram