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 and create a project in your IDE. e.g. if you are using Eclipse the following should do the trick...

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

Build the project.

mvn -Dmaven.test.skip=true install

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

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 (25 issues)
T Key Summary Assignee Reporter Pr Status Res Created Updated Due
Bug AMQ-1715 Still getting STOMP Client connect error in AMQ 5.1.0 Release Unassigned vik dhawan Major OpenOpen UNRESOLVED May 08, 2008 May 08, 2008
Bug AMQ-1714 messages get dispatched to a removed consumer, locked and remain unavailable - appear as missing Unassigned Gary Tully Major OpenOpen UNRESOLVED May 08, 2008 May 08, 2008
Improvement AMQ-1514 patch HTTP connector to support proxy authentication if proxyUsername and proxyPassword provided. Unassigned Sam Zhou Minor OpenOpen UNRESOLVED Dec 07, 2007 May 08, 2008
Bug AMQ-1713 AMQ Restore from Persistent Storage Breaks Queue Counters Unassigned Quintin Beukes Minor OpenOpen UNRESOLVED May 08, 2008 May 08, 2008
Bug AMQ-1441 compatibility issue when integrating/embedding with JBossAS Unassigned Tyronne Wickramarathne Major OpenOpen UNRESOLVED Oct 04, 2007 May 07, 2008
Bug AMQ-1430 Composite Queue causes duplicate keys in JDBC store Unassigned David Dossot Major OpenOpen UNRESOLVED Sep 20, 2007 May 07, 2008
Bug AMQ-1086 Can't use SQL Server 2005 for persistence Unassigned Tony Voss Major ReopenedReopened UNRESOLVED Dec 04, 2006 May 07, 2008
Bug AMQ-1063 Journaled JDBC checkpoint fails with java.io.IOException: Already started. Unassigned jk@penguinsfan.com Major OpenOpen UNRESOLVED Nov 19, 2006 May 07, 2008
Bug AMQ-992 MySQL doesn't honor lock in JDBC Master Slave configuration? Unassigned Steven Lotito Major ReopenedReopened UNRESOLVED Oct 18, 2006 May 07, 2008
Improvement AMQ-1703 Create lightweight ActiveMQ client jar Unassigned Dejan Bosanac Minor OpenOpen UNRESOLVED Apr 30, 2008 May 07, 2008
Bug AMQ-1696 Restore the setConnectionFactory() method on the ActiveMQResourceAdapter Hiram Chirino Hiram Chirino Major OpenOpen UNRESOLVED Apr 28, 2008 May 07, 2008
Improvement AMQ-1694 Upgrade the bundled service wrapper to version 3.2.3 Hiram Chirino Hiram Chirino Major OpenOpen UNRESOLVED Apr 28, 2008 May 07, 2008
Bug AMQ-1693 Nagitive Number Of Pending Messages Unassigned xiaoxiong duan Major OpenOpen UNRESOLVED Apr 28, 2008 May 07, 2008
Bug AMQ-1688 can not start JmsConnector which is stoped by jconsole Unassigned xiaoxiong duan Major OpenOpen UNRESOLVED Apr 25, 2008 May 07, 2008
Bug AMQ-1509 Duplicate topic messages received with network of brokers and selectors Rob Davies Howard Orner Major ReopenedReopened UNRESOLVED Nov 30, 2007 May 07, 2008
Bug AMQ-1712 Recovery of TransactionBroker fails because of missing Subscriptions Unassigned Kai Hudalla Major OpenOpen UNRESOLVED May 07, 2008 May 07, 2008
Bug AMQ-1711 IllegalArgumentException-Subscripiton does not exist when client disconnects Unassigned Howard Orner Major OpenOpen UNRESOLVED May 05, 2008 May 07, 2008
Bug AMQ-1708 Memory Leak while sending Text/Stream Message of size 512 kb or more with MySql persistance Unassigned Subrata Saha Major OpenOpen UNRESOLVED May 02, 2008 May 07, 2008
Bug AMQ-711 commit() should not be called while in auto-commit mode Unassigned Niklas Käck Major ReopenedReopened UNRESOLVED May 17, 2006 May 07, 2008
New Feature AMQ-1547 JMS Selectors can be created for Ajax/REST Servlet clients. Unassigned Eric Noam Rodriguez Minor OpenOpen UNRESOLVED Jan 14, 2008 May 06, 2008
Bug AMQ-1709 Network of Brokers Memory Leak Due to Race Condition Rob Davies Howard Orner Major OpenOpen UNRESOLVED May 02, 2008 May 05, 2008
Bug AMQ-1710 Failing over in JDBC Master/Slave topology does not preserve transaction state Unassigned Rob Bugh Major OpenOpen UNRESOLVED May 05, 2008 May 05, 2008
Bug AMQ-895 JMS to JMS Bridge never reconnects under remote broker restarts. Unassigned Manuel Teira Major OpenOpen UNRESOLVED Aug 25, 2006 May 01, 2008
Bug AMQ-1706 out of date javadoc for org.apache.activemq.ActiveMQConnectionFactory.setDispatchAsync @param, default value is true on trunk Rob Davies Gary Tully Trivial OpenOpen UNRESOLVED May 01, 2008 May 01, 2008
Bug AMQ-1600 Number of items in Topic queue never empties out (Queue Size in JMX for every topic seems to be > 0 all the time) Rob Davies Denis Abramov Critical OpenOpen UNRESOLVED Feb 25, 2008 Apr 30, 2008

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