Note that jamex is currently a test project used to evaluate OSGI use in
different contexts. The initial intention had been to setup a real production
JMS router and this may return in time.

TODO
----

* SubscribingServiceListener
  - add DMQ property that if specified will send an excepting message to DMQ
  - add properties that define the type of session; transacted or not, ack mode
* Add integration test for SubscribingServiceListener to see if messages are delivered using Pax-Exam
* Add/use configuration service
* Make use of Declarative Services for everything
* Consider using EasyEJB or some other EJB server to host biz logic

Testing:

* Test MessageUtil to ensure headers are copied
* Test MessageVerifier to ensure non text messages raise exceptions
* Test MessageTransformer to ensure all headers are copied as appropriate
* Test all the different combinations supported by MessageLink
 - Test DMQ works as expected
 - Test inputVerifier
 - Test outputVerifier
 - Test transformer
JML
---

JML grew out of the need to rapidly set up processors that consumed messages from one
channel and produced messages on another channel. Typically the processor may apply some
form of transformation or validation on the message as it is transmitted to the destination.

An example scenario is where one application sends a message to the queue "Fireweb.Wildfire"
in the format "Wildfire-1.1.xsd". Several applications want to receive it but in an older
format "Wildfire-1.0.xsd" from a topic named "Wildfire". The message coming out of the
"Fireweb.Wildfire" is validated against "Wildfire-1.1.xsd" before an xsl transform
("Wildfire-1.1-to-1.0.xsl") is applied and post transform the message is validated against
"Wildfire-1.0.xsd" before being sent onto the "Wildfire" topic. The processor that does this
is an example of perfect candidate for an instance of the JML MessageLink class.

TODO
----

* Test MessageUtil to ensure headers are copied
* Test MessageVerifier to ensure non text messages raise exceptions
* Test MessageTransformer to ensure all headers are copied as appropriate
* Test all the different combinations supported by MessageLink
 - Test DMQ works as expected
 - Test inputVerifier
 - Test outputVerifier
 - Test transformer
Add some wordage to reflect the repackaging
Add some wordage to reflect the repackaging
