SeamFramework.orgCommunity Documentation
Seam JMS can be used by including a few libraries in your application's library folder:
Seam JMS has a combined build that can reduce your dependencies to:
Seam JMS has an optional dependency on Seam Servlet, for application loading capabilities:
If you are using Maven as your build tool use the following dependency:
<dependency>
<groupId>org.jboss.seam.jms</groupId>
<artifactId>seam-jms</artifactId>
<version>${seam.jms.version}</version>
</dependency>
Alternatively, you can use the API at compile time and only include the implementation at runtime. This protects you from inadvertantly depending on an implementation class.
<dependency>
<groupId>org.jboss.seam.jms</groupId>
<artifactId>seam-jms-api</artifactId>
<version>${seam.jms.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.jboss.seam.jms</groupId>
<artifactId>seam-jms-impl</artifactId>
<version>${seam.jms.version}</version>
<scope>runtime</scope>
</dependency>
Define or replace the property ${seam.jms.version} with a valid version of Seam JMS.
The runtime of Seam JMS is defined in two sections. The first section is related to creating observers, which happens within the Seam JMS CDI Extension. Observers need to be defined prior to starting up the container, and cannot be created once the application is running. This part happens automatically. The second section is related to creating listeners. This is managed in the component org.jboss.seam.jms.bridge.RouteBuilder.
In order to start any listeners, you may need to inject an instance of the RouteBuilder in to your class.
If you are running within a Servlet Container, and include the Seam Servlet module, RouteBuilder will automatically start up.