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-1845 Message loss in network of brokers when network connection break Gary Tully Bryan Shaw Major OpenOpen UNRESOLVED Jul 08, 2008 Jul 25, 2008
Bug AMQ-1858 Integer overflow in default settings Unassigned Simone Bordet Major OpenOpen UNRESOLVED Jul 17, 2008 Jul 24, 2008
Bug AMQ-1868 Producer block when queue memory limit is setted to 5Mb and no consumer is actived Unassigned Alessandro Zanfardino Major OpenOpen UNRESOLVED Jul 23, 2008 Jul 24, 2008
Bug AMQ-1867 memtest report is not well-formatted xml Unassigned Ching Yi, Chan Major OpenOpen UNRESOLVED Jul 22, 2008 Jul 22, 2008
Bug AMQ-1865 pom parent version miss match Unassigned Ching Yi, Chan Major OpenOpen UNRESOLVED Jul 21, 2008 Jul 21, 2008
New Feature AMQ-1864 Rest protocol which does not use persistent connections Unassigned John Silva Major OpenOpen UNRESOLVED Jul 21, 2008 Jul 21, 2008
Bug AMQ-1098 Use of https transport throws ClassCastException Unassigned Hernan Otero Minor ReopenedReopened UNRESOLVED Dec 13, 2006 Jul 21, 2008
Bug AMQ-1863 org.apache.activemq.transport.InactivityIOException: Channel was inactive for too long Unassigned don ingratta Major OpenOpen UNRESOLVED Jul 21, 2008 Jul 21, 2008
Bug AMQ-1762 Field Type for ID column on table activemq_msgs should be increased from integer to bigint for postgres Unassigned Yves Sandfort Major OpenOpen UNRESOLVED Jun 03, 2008 Jul 21, 2008
Bug AMQ-1862 Master broker is down when slave broker is crashed Unassigned qingwu lin Major OpenOpen UNRESOLVED Jul 21, 2008 Jul 21, 2008
Bug AMQ-1861 thousands of threads allocated and blocked on log4j callAppender Unassigned Bonny Rais Major OpenOpen UNRESOLVED Jul 20, 2008 Jul 20, 2008
Bug AMQ-1860 soTimeout transport property- Incorrect documentation (or code, you pick) Unassigned Filip Hanik Major OpenOpen UNRESOLVED Jul 18, 2008 Jul 18, 2008
Bug AMQ-1859 Race condition when browsing a queue with active Producers / Consumers Unassigned Anthony Enache Major OpenOpen UNRESOLVED Jul 17, 2008 Jul 17, 2008
Bug AMQ-1464 AMQ 5.0 Fanout Regression Hadrian Zbarcea Joe Fernandez Major ReopenedReopened UNRESOLVED Oct 15, 2007 Jul 17, 2008
Bug AMQ-1489 discoveryUri in transportConnector and uri in networkConnector partially ignored if multicast David Jencks Gerald Loeffler Major ReopenedReopened UNRESOLVED Nov 07, 2007 Jul 17, 2008
Bug AMQ-1857 running activemq using maven causes NoClassDefFoundError: org/springframework/core/io/FileSystemResource Unassigned Wouter de vaal Major OpenOpen UNRESOLVED Jul 17, 2008 Jul 17, 2008
Bug AMQ-1847 Redelivery on a failure doesn't respect the initialRedeliveryDelay on the first attempt. Unassigned Veit Guna Major ReopenedReopened UNRESOLVED Jul 07, 2008 Jul 17, 2008
Bug AMQ-1849 Slave threads increasing when sending to temporary queue Rob Davies Hans Bausewein Major OpenOpen UNRESOLVED Jul 09, 2008 Jul 16, 2008
Improvement AMQ-1377 amq.js should not have a dependency on prototype.js Unassigned Jim Cook Major OpenOpen UNRESOLVED Sep 04, 2007 Jul 16, 2008
Improvement AMQ-1832 Pure Master/Slave to allow shutdownOnSlaveFailure to be configured on master Unassigned ying Major OpenOpen UNRESOLVED Jun 30, 2008 Jul 15, 2008
Bug AMQ-1813 shutdownOnMasterFailure="true" is ignored when broker starting Unassigned Dima Major OpenOpen UNRESOLVED Jun 20, 2008 Jul 15, 2008
Bug AMQ-1855 bridge reconnection stops because of race in SimpleDiscoveryAgent Rob Davies Mario Lukica Major OpenOpen UNRESOLVED Jul 11, 2008 Jul 15, 2008
Bug AMQ-1837 Lost messages after broker recovery Unassigned Jan Wiemer Critical OpenOpen UNRESOLVED Jul 03, 2008 Jul 14, 2008
Bug AMQ-1217 Message Bridge to Weblogic 9.2 results in Null JMS Destination Unassigned Aman Nanner Major OpenOpen UNRESOLVED Mar 30, 2007 Jul 12, 2008
Bug AMQ-1551 ActiveMQ as foreign JMS provider to BEA WLS 8.1/10 Unassigned Christian Burger Major OpenOpen UNRESOLVED Jan 17, 2008 Jul 12, 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