NOTICE: JBossMQ will be replaced by JBoss Messaging in JBoss AS 5.0.
Go to JBossMessaging Wiki for more information on JBoss Messaging.
JBossMQ will still be supported for at least two years after the final JBoss4 release, which probably means it be supported until around JBoss7 time.
What is JBossMQ?
A clean room implementation of the Java Message Service API part of the J2EE specification.
It allows asynchronous delivery of messages in distributed systems with optional QOS parameters
like persistence, guaranteed delivery or transactions.
JBoss-4.x supports the JMS1.1 version of the spec.
JBoss-3.2.x supports the JMS1.0.2b spec (from 3.2.8 it also supports JMS1.1).
It supports two messaging styles:
Queue where a message is received by one client.
Topic where a message is "broadcast" to multiple client subscribers.
NOTE: JMS1.1 includes a combined model of Queue/Topic connections that can be used for both styles.
Features
FireAndForget for asynchronous delivery.
GuaranteedDelivery using persistent messages and durable subscriptions.
JTA XA integration used by JBoss's JMS Resource Adapter.
Pluggable Invocation Layers to support different transport mechanisms, including http, rmi, tcp/ip and in memory invocations.
Pluggable Security to support different security mechanisms.
Pluggable Persistence to support different persistence mechanisms.
High Availability in a clustered environment.
Getting involved
Do you want to be a JBossMQ committer? Take a look at the [currently outstanding tasks in
JIRA|http://jira.jboss.com/jira/secure/IssueNavigator.jspa?reset=true&pid=10065&statusIds=1]
Architecture
Overview - A short description of the pieces that make up JBossMQ
Source Code Layout - A brief overview of the JBossMQ source tree
Configuration
Destinations - the main destination manager and destinations
Security - how users are authenticated and authorised
State - configuration of users/roles and durable subscriptions
Persistence - how messages are persisted and cached
Connectors - the different mechanisms used to connect to the server
Changing the Database - using a different database
EJB2.x MDB configuration - MDB configuration
JCA1.5 JMS Inbound Resource Adapter - Generic JMS Inbound resource adapter
MDBs in JBoss4 - a note about MDB config in JBoss4
How Do I Configure An EJB2 MDB To Talk To A Remote Queue - remote connection to standalone or HA JMS
JMSOverSSL - how to configure remote JMS to use SSL
JMSOverHTTPS - configure it step by step
DeadLetterQueues - Dead Letter Queues
Windows Service - Stand-alone windows service; also talking to MySQL
Integration
IntegrationWithSonicMQ
Forums
FAQ frequently asked questions
The user forum can be used to obtain help, but read this first
The development forum is for the discussion of changes to the implementation.
Bug Reports, Change Notes and RoadMap to find solved problems, known issues or report new problems
Examples
QueueExample Sending and Receiving a message via a Queue
QueueRequestorExample Example using the spec defined QueueRequestor
ClientAckExample Using client acknowledgement and session recovery
JBossMQInterceptorExample An example JBossMQ interceptor to change behaviour on the server
TracingInterceptor An example logging interceptor
ClientReconnectInterceptor Old feature that has been removed
JmsSenderBean A session bean used to send messages to a Queue / Topic
JmsReceiverBean A session bean used to receive messages from a Queue
JmsBrowserBean A session bean used to browse a Queue
JMS11Example An example of queue and topic in the same session/transaction
JBossMQMockJMS Using JBossMQ as a mock jms in unit tests with the Microcontainer
Authors
Retired
Norbert Lataille
David Maplesden
Hiram Chirino
Peter Antman
Brian Weaver
Paul Kendall
Jayash Parayali
Ole Husgaard
Vincent Sheffer
Jason Dillon
David Jencks
And many patches gratefully received from the community with thanks.
Old Change Notes
JBoss Changes Notes for previous releases
Related
Comments