JBoss Messaging 1.0.0alpha-PR2 Release Notes
Oct 5, 2005
Note: The current JBoss Messaging distribution is a preview alpha release. We strongly advise against using it in a production environment.
This notes document the second preview release of JBoss Messaging. In its production release, JBoss Messaging will be a JMS 1.1 compliant JMS provider, based on a completely new design, which recycles a limited number of JBossMQ well-designed sub-systems and replaces everything else. The production release will show improvements in three areas:
Increased performance under high load. The JBoss Messaging internals are based on an asynchronous channel architecture, which reduces the number of synchronization bottlenecks and maximize the throughput of the system.
Better high availability/load balancing features. JBossMQ is essentially a singleton (hub and spoke server architecture). Some HA features have been later bolted on it, but it lacks in-memory replication of NON_PERSISTENT messages, distributed/replicated destinations and transparent fail-over. JBoss Messaging will add these features.
Better modular architecture. There is a clear distinction between the reliable distributed messaging core and the JMS facade. The implementation uses JBoss AOP and an interceptor architecture to implement the JMS Facade. That would allow advanced configurations, where behavior can be shifted back and forth from client to server, with direct applications on thinner or thicker clients and serverless JMS.
The current release passes all relevant JMS TCK tests. However, it still has a series a limitations that prevents it from being used in a production envrionment. For a highlight of the current release limitations, go to the "Limitations" section.
The current release has been tested with JBoss 5.0.0alpha.
The JBoss Messaging release bundle includes the following files and directories:
jboss-messaging.sar - the deployable JBoss service archive that contains JBoss Messaging and its dependencies.
src - the expanded JBoss Messaging source code. Note that JBoss Messaging cannot be built using exclusively this source snapshot, which is provided here for reference only. If you wan to build JBoss Messaging from source, follow the instructions from the "Building JBoss Messaging from sources" section.
JBossMessaging-1.0.0alpha-pr2-src.zip - the zipped src directory.
examples - a collection of simple JMS examples that should run out of the box and help you validate the installation.
Building JBoss Messaging from source
In order to build this version of JBoss Messaging from source, you will need to check out the whole JBoss AS source tree from the anonymous JBoss CVS. Instructions on how to do this are available at http://wiki.jboss.org/wiki/Wiki.jsp?page=CVSRepository. A condensed version of the whole procedure is provided below:
cvs co -r JBossMessaging_1_0_0_alpha_PR1 jboss-head cd jboss-head ./build/build.sh cd jms ./build sar-scoped
This will generate a jboss-messaging.sar service archive in output/lib.
This release is still an alpha and a preview release. It passed 100% of the Sun Microsystem's CTS JMS tests. However its current limitations prevents it from being used in production. Some of the known major limitations are:
Support for high availability and load balancing is not complete.
No reliable performance data
JIRA Release Notes
Release Notes - JBoss Messaging - Version 1.0.0 alpha PR2(clustered)
JBMESSAGING-74 - AcknowledgmentStore implementation
JBMESSAGING-101 - Subscribers with noLocal=true receive local messages
JBMESSAGING-102 - Stopped non-durable topic subscribers do not receive messages when restarted
JBMESSAGING-103 - Existing durable subscription cannot be changed
JBMESSAGING-104 - Durable subscriber re-activation invalid
JBMESSAGING-105 - Routing logic does not allow message to be redelivered to different queue receiver
JBMESSAGING-106 - JMSExpiration header incorrectly set
JBMESSAGING-107 - Not able to set JMSXGroupId and JMSXGroupSeq
JBMESSAGING-108 - JBossConnectionMetadata.getJMSXPropertyNames not returning correct values
JBMESSAGING-109 - JBossBytesMessage copy constructor from a foreign BytesMessage is not yet implemented
JBMESSAGING-110 - JBossMapMessage copy constructor from a foreign MapMessage is not yet implemented
JBMESSAGING-111 - JBossStreamMessage copy constructor from a foreign StreamMessage is not yet implemented
JBMESSAGING-112 - Temporary Destination can be deleted when it has open message consumer
JBMESSAGING-113 - Able to create consumer for temporary queue from different connection
JBMESSAGING-12 - Insure ReceiverID uniqueness
JBMESSAGING-17 - Replicator
JBMESSAGING-44 - Update JGroups reference
JBMESSAGING-49 - JBoss Messaging 1.0.0 Alpha PR2 (Clustered)
JBMESSAGING-65 - Selector support in core
JBMESSAGING-67 - JCA Support
JBMESSAGING-70 - Transactional support for the AcknowledgmentStore
JBMESSAGING-72 - Administered objects deployment
JBMESSAGING-73 - Security Integration
JBMESSAGING-76 - Channel implementation
JBMESSAGING-99 - Review shared data structures in JMS facade for thread safety
JBMESSAGING-118 - Implement security for JMS container
JBMESSAGING-119 - TCK 100% pass rate