Dependencies
Java Message Service (JMS) and JMS Provider
Pax JMS does not provide JMS itself it is just a bridge between a JMS implementation and OSGi in a generic and dynamic way, you will need the following items:
A JMS API bundle exporting javax.jms
A JMS Provider bundle that exports the provider specific ConnectionFactory and includes the provider specific code if you wnat to use the configuration based aproach of creating a ConnectionFactory.
Depending on your provider and configuration a JMS "Broker" Server (some provider support an embedded mode where the server run in the same VM)
A list of JMS provider can be found for example on http://de.wikipedia.org/wiki/Java_Message_Service#JMS-Provider but very likely you already have choosen one if you are here
Declarative Services (DS)
Pax JMS useses Declarative Services for its internal services, so you must install a DS/SCR provider, most OSGi Frameworks already are shipped with one, e.g Felix is shipped with org.apache.felix.scr bundle, equinox provides org.eclipse.equinox.ds. Make sure that both, the DS/SCR bundle as well as the Pax JMS bundles are started, otherwhise the services won't show up!
Even if Pax JMS uses DS internally it does not forces you to use DS as well. You can use what ever technology you prefere, e.g. Bluprint, Spring DM, iPOJO or even plain old OSGi services! We still encorage you to take a look at DS if you are not already using it
Configuration Admin Service
Several things are configurable and even will require a configuration. Pax JMS uses the standard OSGi Configuration Admin Service for this. It is very likely that you are already have on in your OSGi Runtime.
Some features will also work without configuration and ConfigurationAdminService. But working with DS is even more flexible and powerfull if you use the ConfigurationAdmin
Even if you can create configuration programatically, it is advised to use some technique like Apache Felix File Install, Pax ConfMan. This way everything can be setup with simple properties files.
SLF4J
Pax JMS uses SLF4J for maximum flexibility. You choose what backing logging system you preferre.