ActiveMQ uses the Apache Geronimo’s implementation of javax.jms.* package. For debugging, it is nice to have the sources. Hunting for the sources of geronimo-jms_1.1_spec-1.0.jar took a while and deserves to be documented. The confusing part is that the sources of “specs” are not part of the subversion trunk, but instead they are part of the 1.1 branch. The geronimo site does explain why they designed it this way. Any how, here is how you can get the entire sources for the specs: jms, mail, …
svn co http://svn.apache.org/repos/asf/geronimo/specs/branches/1_1
The above subversion command will create folder called 1_1 at the directory that you ran the command from. Here is the listing of the 1_1 folder:
geronimo-spec-activation geronimo-spec-j2ee-deployment geronimo-spec-jta
geronimo-spec-commonj geronimo-spec-j2ee-jacc geronimo-spec-qname
geronimo-spec-corba geronimo-spec-j2ee-management geronimo-spec-saaj
geronimo-spec-corba-2.3 geronimo-spec-javamail geronimo-spec-servlet
geronimo-spec-corba-3.0 geronimo-spec-jaxr pom.xml
geronimo-spec-ejb geronimo-spec-jaxrpc pom.xml.proposed
geronimo-spec-j2ee geronimo-spec-jms
geronimo-spec-j2ee-connector geronimo-spec-jsp