JORAM - Releases Info

September 26 2023: JORAM 5.21.0 release is available.

This release is described here.

This version is available for download, and in Maven repository.

It is tagged in GITLAB (JORAM_5_21_0), the complete list of changes can be viewed in GIT history.

February 26 2023: JORAM 5.20.0 release is available.

This release is described here.

This version is available for download, and in Maven repository.

It is tagged in GITLAB (JORAM_5_20_0), the complete list of changes can be viewed in GIT history.

June 4 2022: JORAM 5.19.0 release is available.

This release is described here.

This version is available for download, and in Maven repository.

It is tagged in GITLAB (JORAM_5_19_0), the complete list of changes can be viewed in GIT history.

November 30 2021: JORAM 5.18.0 release is available.

This release is described here.

This version is available for download, and in Maven repository.

It is tagged in GITLAB (JORAM_5_18_0), the complete list of changes can be viewed in GIT history.

February 22 2021: JORAM 5.17.6 release is available.

This release is described here.

This version is available for download, and in Maven repository.

It is tagged in GITLAB (JORAM_5_17_6), the complete list of changes can be viewed in GIT history.

December 16 2020: JORAM 5.17.5 release is available.

This release is described here.

This version is available in Maven repository.

It is tagged in GITLAB (JORAM_5_17_5), the complete list of changes can be viewed in GIT history.

December 11 2020: JORAM 5.17.4 release is available.

This release is described here.

This version is available for download, and in Maven repository.

It is tagged in GITLAB (JORAM_5_17_4), the complete list of changes can be viewed in GIT history.

September 07 2020: JORAM 5.17.3 release is available.

This release is described here.

This version is available in Maven repository.

It is tagged in GITLAB (JORAM_5_17_3), the complete list of changes can be viewed in GIT history.

July 09 2020: JORAM 5.17.2 release is available.

This release is described here.

This version is available in Maven repository.

It is tagged in GITLAB (JORAM_5_17_2), the complete list of changes can be viewed in GIT history.

April 09 2020: JORAM 5.17.1 release is available.

This release is described here.

This version is available in Maven repository.

It is tagged in GITLAB (JORAM_5_17_1), the complete list of changes can be viewed in GIT history.

November 21 2019: JORAM 5.17.0 release is available.

Joram 5.17.0 is available in the SVN repository with tag JORAM_5_17_0.

New features and improvements

  • Improvement:
    • [JORAM-289] - Generation of Javadoc with a JDK> 7.
    • [JORAM-301] - Setting a timeout for processing JNDI requests.
    • [JORAM-315] - Credential Administration for the Rest / Admin Connector.
    • [JORAM-316] - Using form parameters for JMS credentials in the Rest / JMS API.
    • [JORAM-317] - AgentServer.setDefaultConfig Methods Can not Set the Transaction Module.
    • [JORAM-321] - The delayed messages are not logged when inserted in the queue.
    • [JORAM-323] - Destruction of temporary destinations, sending messages in DMQ.
    • [JORAM-324] - Default configuration of the agent server.
    • [JORAM-325] - Configuration of the table name in the DBTransaction persistence component.
    • [JORAM-329] - Automatic use of transient messages with temporary destinations.
    • [JORAM-332] - Tracking of connections and sessions creations.
    • [JORAM-333] - Customization of JMS MessageID.
    • [JORAM-339], [JORAM-340] - Handling of service failures during AgentServer starting.
    • [JORAM-338], [JORAM-341] - Improvement in JMS/TCP Connector MBean (TCPProxyService).
    • [JORAM-342], [JORAM-343] - Handling of phantom connection on the JMS and JNDI ports.
    • [JORAM-346] - Take in account ConnectingTimer with LocalConnection.
    • [JORAM-334], [JORAM-351] - Removing the display of passwords in MBeans and logging.
    • [JORAM-353] - insert and update operations in DBTransaction.
  • Bug fixes:
    • [JORAM-312] - SSLTcpProxyService SSL / JMS Connector setting.
    • [JORAM-314] - MySQL transactional component tuning.
    • [JORAM-319] - Serialization error when collecting JMX attributes through the administration API.
    • [JORAM-320] - Destination.getStatistics method does not return Boolean values.
    • [JORAM-322] - Delayed messages are inserted immediately in queue after reboot.
    • [JORAM-326] - The message count values of a queue are frequently false after a server reboot.
    • [JORAM-327] - Numerous Session creation with JCA Connector.
    • [JORAM-330] - Compatibility of the persistence database during a version upgrade.
    • [JORAM-331] - JMS connections blocked on BDD lock.
    • [JORAM-336] - Securing the JMS Rest Service.
    • [JORAM-337] - Useless WARN Traces during Joram starting.
    • [JORAM-344] - Deleting services from the XML configuration.
    • [JORAM-347] - Stopping SQL statement when stopping BDTransaction.
    • [JORAM-348] - AgentServer restart with components inherited from DBTransaction.
    • [JORAM-349] - JDBC Reconnection in JDBCTransaction.
    • [JORAM-350] - TimeOut during JMS connection on server lock

The complete list of changes can be viewed in GIT history.

December 5 2018: JORAM 5.16.0 release is available.

Joram 5.16.0 is available in the SVN repository with tag JORAM_5_16_0.

New features and improvements

  • Improvement:
    • [JORAM-294] - Updates Felix bundles.
    • [JORAM-297] - Delayed delivery of messages on a queue.
    • [JORAM-298] - Ability to pause message delivery on a queue.
    • [JORAM-299] - Rest / JMS API Security.
    • [JORAM-309] - Running Administration XML Scripts from a Shell.
  • New feature:
    • [JORAM-295] - Java 9/10/11 compliance.
    • [JORAM-302] - Filtering Rest Services by IP Address.
    • [JORAM-303] - Securing the Rest JMS service.
    • [JORAM-310] - Adding a generic BD persistence module through a JDBC API.
  • Bug fixes:
    • [JORAM-291] - Methods of destroying JMS bridge connections are misnamed.
    • [JORAM-292] - Joram does not compile with JDK > 8.
    • [JORAM-293] - The Joram server does not launch with a JRE > 8.
    • [JORAM-296] - Problem with XML scripts and non-standard administrator login.
    • [JORAM-300] - Interlocking with the JMS bridge (Distribution) when using the JNDI local server.
    • [JORAM-304] - Exception while watching a queue or subscription with HawtIO / Jolokia.
    • [JORAM-305] - Check the name of properties of the JMS message.
    • [JORAM-306] - Reconnection issue with JMS bridge (ClientID and IBM/MQ JMS).
    • [JORAM-308] - Transaction error when destroying a message in the distribution bridge.

The complete list of changes can be viewed in GIT history.

April 13 2018: JORAM 5.15.0 release is available.

Joram 5.15.0 is available in the SVN repository with tag JORAM_5_15_0.

New features and improvements

  • Bug fixes and improvements: JORAM-281, JORAM-282, JORAM-271, JORAM-284, JORAM-285, JORAM-286, JORAM-287, JORAM-288.

The complete list of changes can be viewed in SVN history.

October 5 2017: JORAM 5.14.0 release is available.

Joram 5.14.0 is available in the SVN repository with tag JORAM_5_14_0.

New features and improvements

  • Performance improvements.
  • Implementation of a Rest/JMS bridge based on Joram generic Rest/JMS connector available since Joram 5.12.0.
  • Bug fixes and improvements: JORAM-264, JORAM-265, JORAM-271, JORAM-272, JORAM-273, JORAM-274, JORAM-279, JORAM-280.

The complete list of changes can be viewed in SVN history.

October 24, 2016: JORAM 5.13.0 release is available.

Joram 5.13.0 is available in the SVN repository with tag JORAM_5_13_0.

New features and improvements

  • Performance improvements.
  • You can now delay the redelivery of messages when a temporary, external condition prevents an application from properly handling a message.
  • Adds a specific JCA connector for IronJacamar.
  • Bug fixes and improvements: JORAM-249, JORAM-251, JORAM-252, JORAM-253, JORAM-254, JORAM-255, JORAM-256, JORAM-257, JORAM-258, JORAM-260, JORAM-261, JORAM-262, JORAM-263.

The complete list of changes can be viewed in SVN history.

April 13, 2016: JORAM 5.12.0 release is available.

Joram 5.12.0 is available in the SVN repository with tag JORAM_5_12_0.

New features and improvements

  • JMS 2.0 generic Rest API plugin.
  • Joram administration Rest API plugin.
  • JMX monitoring Rest API plugin.

The complete list of changes can be viewed in SVN history.

November 13, 2015: JORAM 5.11.0 release is available.

Joram 5.11.0 is available in the SVN repository with tag JORAM_5_11_0.

New features and improvements

  • Adds attributes to JMS and JNDI TCP connection MBean (JORAM-239, JORAM-240).
  • Network and persistence optimizations (JORAM-241, JORAM-242).

Bug fixes

  • Close the underlying connection with the last JMSContext (JORAM-238).
  • Removes JMS context from disk after restart (JORAM-243).

The complete list of changes can be viewed either in SVN history.

May 28, 2015: JORAM 5.10.0 release is available.

Joram 5.10.0 is available in the SVN repository with tag JORAM_5_10_0.

The complete list of changes can be viewed either in SVN history.

May 28, 2015: JORAM 5.9.1.2 release is available.

Joram 5.9.1.2 is available in the SVN repository with tag JORAM_5_9_1_2.

The complete list of changes can be viewed either in SVN history.

February 23, 2015: JORAM 5.9.1.1 release is available.

Joram 5.9.1.1 is available in the SVN repository with tag JORAM_5_9_1_1.

The complete list of changes can be viewed either in SVN history.

November 28, 2014: JORAM 5.9.1 release is available.

Joram 5.9.1 is available in the SVN repository with tag JORAM_5_9_1.

New features and improvements

  • Full implementation of JMS 2.0 specification:
    • Open-source implementation of new API (JORAM-128).
    • Implementation of shared subscription (JORAM-133).
    All functions of the new JMS 2.0 specification are now implemented.
  • Implementation of elastic queues and topics.
  • An significant work to optimize the performances, among other things:
    • Use of callback to ack some JMS request server-side (JORAM-172, JORAM-179, JORAM-184).
    • Break the monolitic saving of agents (JORAM-166, JORAM-170, JORAM-177).
    • Optimize the marshalling of some requests (JORAM-180).
    • Optimize the transactionnal backup (JORAM-182).

Bug fixes

  • JORAM-[159-162,201,202]: JMS2.0 TCK compliance.
  • JORAM-163: Handling of grouped requests.
  • JORAM-[198-200]: Behavior of bridge JMS.

October 2, 2013: JORAM 5.9.0 release is available.

Joram 5.9.0 is available in the SVN repository with tag JORAM_5_9_0.

New features and improvements

  • Implementation of JMS 2.0 specification:
    • Open-source implementation of new API (JORAM-128).
    • Implementation of the updated specification (JORAM-[131-150], JORAM-[150-158]).
    All functions of the new JMS 2.0 specification are now implemented except the shared subscriptions. Currently Joram succeeds 98% of the compliance tests for the specification 2.0.
  • An significant work to optimize the performances, among other things:
    • A new marshalling framewwork (JORAM-117).
    • An optimized handling of connections and marshalling.
    • Optional message compression (JORAM-114).
    • JORAM-108: Release of transactional mechanism in cases where it is unnecessary.
    • JORAM-111: Fewer notifications when sending a JMS message.
    • JORAM-112: Removing unnecessary persistent backup when receiving a QueueMsgReply.
    • JORAM-113: Removing unnecessary persistent backup during the publication of transient messages to durable subscription.
    • JORAM-121: Optimisation of the persitent backup of the user proxy.

Bug fixes

  • JORAM-124: JNDI issue when using the JMS Bridge in an OSGi environment.
  • JORAM-118: Avoid a potential deadlock when using PoolNetwork component.
  • JORAM-106: Allow the call of interceptor in transacted mode.
  • JORAM-104: Avoid a potential deadlock occuring in Jonas 5.2.2 when using a jms-listener provided by Spring and cutting/resuming the remote Joram RAR which is used.
  • JORAM-102: Avoid a NPE when using the A3 Properties class outside of the marshalling framework.

January 14 2013: JORAM 5.8.1 maintenance release is available.

Joram 5.8.1 is available in the SVN repository with tag JORAM_5_8_1.

New features and improvements

  • Factorizes the client timer for any JMS connection (JORAM-69).
  • Adds syncExceptionOnFull option (JORAM-101).
  • Spring intégration and OSGi configuration (DnD).

Bug fixes

  • Handles connection close when transmitting large messages between servers (JORAM-62).
  • Best handle of JMS connection loss (JORAM-84).
  • Removes useless connection cleaning tasks (JORAM-87).
  • Unsubscribe Connection and Session MBeans to avoid memory leak (JORAM-99).
  • Fixes potential bug with the cleaning mechanism of client context in the MOM (JORAM-68).

October 23, 2012: JORAM 5.8.0 release is available.

Joram 5.8.0 is available in the SVN repository with tag JORAM_5_8_0.

New features and improvements

  • Refactoring of the JCA resource adapter allowing to deploy many resource adapter in an application server. This enhanced JCA connector includes a new configuration mechanism allowing user friendly configuration.
  • Enhancements of the JMS bridge.
  • Enhancements of the AMQP bridge.
  • Adds an individual acknowledge mode in addition to JMS specification.
  • Joram's MBeans extension.
  • Adds a specific logger allowing to trace message sending and receiving client side.
  • Adds specific ConnectionFactory elements, these factories can be used either through the administration API or the XML configuration scripts. Factory parameters can now be defined in XML configuration scripts.
  • Adds specific factories for specialized destination:
    • Mail acquisition and distribution destinations.
    • FTP queue.
    • Monitoring queue and topic.
    • Collector queue and topic.
    • SchedulerQueue.
    • JMS and AMQP bridges.
    These factories can be used either through the administration API or the XML configuration scripts.
  • Allows the configuration of the JMS and AMQP bridge connection services:
    • Add elements to define either an AMQP or JMS bridge connection to a Joram server through the XML cpnfiguration scripts.
    • Add methods to add or delete either an AMQP or JMS bridge connection to a Joram server through the administration API.
    Use URLs to describes each connection factory.

Bug fixes

  • Fix a potential NPE when declaring a bridge destination without properties.
  • Allows to disable the regulation mechanism between the acquisition handler and the queue.
  • Bug fix (JORAM-80): Bytes, Stream and Map messages are now correctly handled by the JMS bridge.
  • Bug fix (JORAM-77): Messages whose field is positioned JMSReplyTo are not correctly retransmitted by the JMS bridge acquisition. Additionally this patch fixes two problems in the JMSAcquisition class:
    • Sessions are now transacted which allows the use of commit/rollack.
    • rrors are correctly handled by the message listener.
  • Bug fix (JORAM-74): Fix a synchronization issue in the bridge daemon, avoid duplication of message during connection recovery.
  • Bug fix (JORAM-75): Bad handling of connections in the JCA connector, some connections are not correctly freed.
  • JMS Bridge connection pool: Fix issues when defining a connection without name or with an already defined name (JORAM-70, JORAM-71).
  • Avoids exceeding the limit of the number of characters for the identifier of a persistent object in MySQL Transaction component.
  • JORAM-61: Avoid a possible ConcurrentModificationException when restarting a server with active subscription during a crash.
  • JORAM-32: Directly throw an exception for the user when sending a message on a full local queue.
  • Bug fix (JORAM-59): Previously a message denied and then correctly consumed by the customer could be reissued after stopping and restarting the server.
  • JORAM-41: Right handling of redelivered attribute.
  • JORAM-33 : Add the possibility to disable the mechanism of pre-requesting of the messages in a listener mode. (queueMessageReadMax =0)
  • Allows to use any queue as DMQ in XML script (JORAM-37).
  • Bug fix (JORAM-44): Enable the interception mechanism with implicit receipt mode.
  • Avoids a possible NPE during a reaction to an AgentCreatRequest (JORAM-39).
  • Bug fix (JORAM-35): correct handling of message's priority during serialization.
  • Bug fix (JORAM-30): avoid potential loss of messages by an AMQP bridge during server shutdown. The persistent properties of acquisitionNot is now depending of the messages included.
  • Bug fix (JORAM-16): Allow the reconnection of the JMS bridge detecting a connection issue even if the remote JMS provider do not thrown an exception on ExceptionListener.
  • Bug fix (JORAM-23): Avoids starvation of listener when using flow control. Previously after reactivation of the subscription the supply of the listener's queue is resumed only if new messages comes from topic. Changes to limiting the number of messages per request between the subscription and the listener after restarting of a subscription (JORAM-22).
  • Fix a memory leak (JORAM-20): no longer create a new logging topic for each created daemon.
  • Bug fix in NGTransaction rebuild of the memory transaction log. Fix a bad behavior (JORAM-18) allowing the proliferation of unused log files.
  • Until now a message to an unknown server was simply destroyed. Now when the sender is identified an error message is sent to the corresponding agent. This patch fixes the problems JORAM-12 and JORAM-14.
  • JORAM-10 : Fix possible NPE during server stop with JMS Bridge.
  • JORAM-9 : Fix FileNotFoundException using raconfig tools.
  • JORAM-3 : Fix a NullPointerException on server restart after a crash during XA transactions.

September 14, 2011: JORAM 5.7.0 release is available.

Joram 5.7.0 is available in the SVN repository with tag JORAM_5_7_0.

New features and improvements

  • A new JMS bridge component using a connection pool similarly to the AMQP bridge.
  • Get/set DMQ settings individually for user susbcriptions.
  • Persistent handling of transaction properties and enhancements in NGTransaction component.
  • A new AliasQueue destination forwarding messages to a remote Joram destination.

Bug fixes

  • Avoid multiples deallocation in Xoram.
  • Update Xoram message to fit the updated Joram one.
  • Potential encoding issue with TextMessage.

July 13, 2011: JORAM 5.6.0 release is available.

Joram 5.6.0 is available in the SVN repository with tag JORAM_5_6_0.

New features and improvements

  • Changes on JCA connector enabling Joram to be started as a JOnAS OSGi service.
  • Adds persistence to distribution queues for messages that can't be distributed. The queue tries to send the messages regularly.
  • Adds a persistence mechanism for AMQP connections pool (AMQP acquisition and distribution destinations).
  • Adds samples configurations for Derby and NGT Transaction components.
  • Adds samples configurations and clients for HttpNetwork Network components.
  • Updates performance sample.

Bug fixes

  • Fix NPE in AMQP distribution destination when amqp.Routing property is not correctly set.
  • Fix possible NPE in JMS module for acquisition and distribution JMS bridge destinations.
  • Fix a potential issue in PoolNetwork when a connection is initiated by a bad component (the incoming component still connected).

March 28, 2011: JORAM 5.5.0 release is available

Joram 5.5.0 is available in the SVN repository with tag JORAM_5_5_0.

This version is bundled in Jonas 5.2.

New features and improvements

  • Implementation of an AMQP bridge mechanism based on acquisition / distribution destinations. The implementation allows load-balancing and fail-over through multiples AMQP providers. A detailed description is available in section 4.6.10 of the user's guide.
  • Achievement of an interception mechanism for processing messages in the MOM. Interceptors can be located on destinations and on connection in/out channels. A detailed description is available in section 3.5 of the user's guide.
  • Implementation of a recovery mechanism for the JCA connector with automatic reconnection.
  • Enhancements on clustering destinations.
  • Configuration for the default syncOnWrite mechanism on persistence handling.
  • Improvements in NetServerOut daemon.

Bug fixes

  • Bug fix: Removes useless timeout during JNDI service stop.
  • Bug fix: Avoid possible NPE in AMQP acquisition module.
  • Fix minor issues in agent profiling.

October 27, 2010: JORAM 5.4.0 release is available

Joram 5.4.0 is available in the SVN repository with tag JORAM_5_4_0.

New features and improvements

  • Design of an extension framework for JMS destinations. In a first time it defines 2 destinations for acquisition (create JMS message from external data) and distribution (create external data from JMS message) and a simple interface to implement for acquisition and distribution modules.
  • Implementation of Acquisition and Distribution modules are provided to replace Collector, Mail, Monitoring and JMS bridge destinations.
  • Implementation of a STOMP proxy allowing Joram access through STOMP protocol.
  • Transaction: Adds FileRepository.useRandomAccessFile property allowing the optional use of RandomAccessFile or FileOutputStream. This option offers better performance with some filesystems.
  • Possibility to create or retrieve destinations using symbolic name through Session.create[Queue|Topic].
  • Adds many monitoring and statistics JMX attributes: messages waiting in MessageConsumer components, number of reactions, CPU and I/O time consumption in Engine.
  • Adds JMX dump functionnality.
  • Numerous changes in administration offering better functionnalities and performances.
  • Change admin MBean name using root user's name is used instead of JoramAdminProxy.
  • Defines JCA artifacts for Joram adapter.
  • Use of OSGi based Joram server in the samples.
  • Many OSGi enhancements.
  • maven migration.

Bug fixes

  • Bug fix: in the JMS bridge, previously the use of receiveNoWait cause a NPE in server and an infinite wait for the client.
  • Bug fix: Potential client blocking when sending a message with a TTL to a local destination (A cause of this problem can be a bad clock synchronization).
  • Bug fix in FTP collector.
  • Potential bug fix in AgentId.equals with null.
  • Fix a bug in administration of cluster destination through XML scripts (the administration wrapper was not set at creation so there is an error during next operations).
  • The call to System.runFinalization in AgentServer.stop method seems to cause deadlock with JOnAS. Normally this call is no longer needed so we remove it.
  • Fix bug when deleting a user: user was partially removed when deletion is not allowed.

May 05, 2010: JORAM 5.3.1 maintenance release is available

Joram 5.3.1 is available in the SVN repository with tag JORAM_5_3_1.

New features and improvements

  • A reworked PoolNetwork component with one Sender by NetSession. This optimizes performances and fixes various synchronization issues. Furthermore, SoftReferences are now used in the PoolNetwork to avoid memory errors when messages accumulate in the network.
  • Interceptors can now be configured for managed connection factories.

Bug fixes

  • Bug fixes in JMS bridge allowing anew the use of persistent server (a configuration parameter is now required to enable XAConnection).
  • Bug fix about destination using Timer. These destinations are now locked in memory and the Timer tasks are handled depending of the agent life-cycle.
  • Potential bug fix in heart-beat handling. Previously an exception in HeartBeatTask.start method caused an Engine stop.
  • Potential bug fix avoiding deadlock in AdminModule.stopServer of local server.

JORAM release 5.3.0 (February 22, 2010)

Joram is now designed with an OSGiTM based services architecture to provide a dynamically adaptable messaging server:

  • The Joram server can be launched as a set of OSGi bundles (it is always possible to launch the server as a classic Java program).
  • Additional services can be started, stopped, reconfigured: Command line interface, Web console, etc.

Joram 5.3.0 is available in the SVN repository with tag JORAM_5_3_0.

New features and improvements

  • Update Joram JAAS security:
    • modify Identity.check method in order to check through the trusted class.
    • remove unused method getCredential, getSubject.
    • use common.Configuration class instead System one to get properties..
  • Implements either implicit (periodic) or explicit behavior for monitoring queues and topics. Factorizes common behavior in an helper class.
  • No longer use Joram's implementation of timer.
  • Administration and monitoring enhancements:
    • The Destination.getStatistics method now returns all the convertible JMX attributes of this destination (depending of the real type of the destination).
    • Destination consideration of the update by JMX for the period.

Bug fixes

  • The destination identifier checking generates an exception with clustered destination. No longer use directly agentId attribute.
  • Fix infinite recursion in GetProxyIdNot.toString(StringBuffer) method.
  • Fix a bug in PoolNetwork when using nbMaxCnx.
  • PoolNetwork: Fix a possible incomplete closure of PoolSender, and possible NPE.
  • ClusterQueue:
    • Add a better ordering messages in cluster queue.
    • Bug fix in join cluster queue.
    • Implements getType method in ClusterDestination allowing a correct value of destination type in message after sending.

JORAM release 5.2.6 (October 23, 2009)

Joram 5.2.6 is available in the SVN repository with tag JORAM_5_2_6.

New features and improvements

  • 1st implementation of optimized transaction component: NGTransaction.
  • Implements a pool of connections through a dedicated ConnectionFactory.
  • Adds an interception mechanism in connection and session components.
  • Administration and monitoring enhancements:
    • Extended JMX monitoring for connections: show the number of connections created since server start and show the number of failed connection creations.
    • Adds a MonitoringTimerTask to the AgentServer class allowing the periodic monitoring of the server's attributes.
    • Adds JMX control of monitored attributes in MonitoringTopic, allows to view, add and remove attributes.
    • Removes JMXRIHttpService class, no longer used, depends of JMXRITools.jar.
    • Removes unused jars in ship/lib: jndi, jmxri, jmxtools.
  • Optional verification of clock synchronization between client and server at connection time. This mechanism will be activated by default in 5.3 release.
  • Update common.xml to compile Joram with JDK1.5.

Bug fixes

  • Avoid concurrent connections in AdminModule static administration component (AdminModule).
  • Bug fix in Joram administration: setting the time-out to abort request now works (either through setter method or environment property).
  • Bug fix in Scheduler: no longer use recursion to serialize the ScheduleItem list (It can produce stack overflow with big number of items).
  • Potential bug fix in Engine: no longer set NbMaxAgents to Integer.MAX_VALUE with NullTransaction component. This number is incremented with the number of fixed agents and becomes negative, then it produces strange behavior in the garbage..
  • Avoid to deserialize two times the AdminMessage.

JORAM release 5.2.5 (September 21, 2009)

Joram 5.2.5 is available in the SVN repository with tag JORAM_5_2_5.

New features and improvements

  • Improves transaction component and persistancy handling:
    • Extends the Transaction interface and extracts a generic common part to all transactions implementation: class AbstractTransaction,
    • Shares Operation and OperationKey classes,
    • Improves Joram's messages storage, uses Transaction.Create operations and avoid copy for the body.
  • Administration and monitoring enhancements:
    • Improved JMX monitoring for mail destinations,
    • Enhances messages view from queue and subscription in JMX console,
    • Extends JoramAdapter MBean: getServersIds, getServersNames, etc,
    • 1st version of a component (JoramAdminConnect) allowing the administration of Joram through a JMX console. It uses JoramAdmin MBean component to handle remote servers.

Bug fixes

  • Bug fix in Joram Adapter: Avoid a NPE when stopping an application with 2 MDBs 'sharing' a same destination.
  • Bug fix in the SchedulerQueue, reinitializes the scheduler object in order to allow a clean restart.
  • Fix a bug with HA servers: the administration connection still block at initialisation. In adminTopicImpl use the clusterId to get the A3CML server's structure. This fix allow to get information about the local server but a similar problem remain about eventual other HA servers.
  • In order to avoid MOM malfunctioning verify that the destination identifier is valid when setting a DMQ.
  • Resets the deliveryCount attribute when sending a message.
  • In the isUndeliverable method of QueueImpl and ProxyImpl now verify that the number of delivery attempts is not greater or equals to the threshold (previously strict equality).
  • Potential bug fix in AgentId.fromString if the incoming string is empty.
  • Bug fix: Avoid to see all messages related to any user's subscription.
  • Bug fix: Avoid NPE if default DMQ is reseted (set to null).
  • Administration interactions with a wrong user don't hang anymore and an understandable response is returned.

JORAM release 5.2.4 (June 4, 2009)

Joram 5.2.4 is available in the SVN repository with tag JORAM_5_2_4. This release provides many features and changes:

New features and improvements

  • Change administration software architecture:
    • AdminRequestor objects to manage administration requests over a Joram connection,
    • AdminWrapper objects to perform administration actions to a Joram server,
    • AdminModule for compatibility reasons (static administration interface and connection),
    • and JoramAdmin for JMX administration.
  • Improve Joram administration connection and server stop, trying to avoid ConnectException.
  • Allows pending message observation in queue mbean (Shared MessageJMXWrapper with subscriptions.
  • Adds JMX monitoring for connections. Additionally, a server can now be deactivated to avoid creation of new connections.
  • JoramAdapter: Removes stack trace printing when XML configuration file is not found (Be careful JoramAdmin.cfg file is no longer supported).
  • Merges unified, queue and topic connection factories. Queue and topic connection factories are now deprecated. Adds default hostname (localhost) and port (16010) properties in connection factories. Use these properties for ConnectionFactory.create method with no parameter.
  • Adapts Joram's bundles to OSGi 4.1 specification and use of Felix 1.4.1.
  • Adds ResolverRepository and Resolver classes in order to allow packaging of Joram in multiples bundles.
  • Widely use SocketFactory class and adds ServerSocketFactory facility. Removes undesirable static reference to SocketFactory14 in SocketFactory and avoid infinite loop in SocketFactory creation if default class is unavailable.
  • Use a global configuration object to get all joram specific properties. No longer modify the system properties.
  • Changes logger naming pattern, no longer use JoramTracing class.

Bug fixes

  • A ClassCastException occurs in XAContext.addSendings during XAResourceMngr.end call. The real type of vector element is not a JMS message but the shared structure used in the protocol.
  • A deadlock could occur in PoolNetwork on a failing network. Avoid lengthy connection close operation if connection is broken and factory parameter 'connectingTimer' was set.
  • Fix potential NPE with HttpNetwork defined without any server.
  • Bug fix in DefaultConnectionManager class: Avoid class cast exception in allocateConnection method (objects returned by create methods are in fact AbstractConnectionFactory).
  • In administered objects use the AdminModule static connection when the internal AdminWrapper object is closed.
  • Bug fixes in AgentServer initialization: Initializes the transaction component before the configuration reading and reads the configuration through the transaction (otherwise modifications in the transaction log could not be read).
  • Bug fixes in HttpNetwork reconfiguration: In ServerConfigHelper.addServer replaces test to add the server to the MessageConsumer (use hops rather than gateway attribute, gateway is defined for 'client' servers of HttpNetwork domains).
  • Fix initialization of collector destination.

JORAM release 5.2.1 (March 4, 2009)

Joram 5.2.1 is available in the SVN repository with tag JORAM_5_2_1. This release provides many features and changes:

New features and improvements

  • JAAS authentication,
  • Supplies New destination allowing data collect.

Bug fixes

  • Always call onException on closed connection (DemultiplexerDaemon)..
  • Correctly returns all defined rights for destinations.
  • Correctly handle null value for outLocalAddress in FactoryParameters.
  • Using SimpleNetwork could lead to message loss in some rare cases.
  • Fix potential NPE in JoramAdapter.endpointActivation method during the destination creation
  • Fix potential problems with unknown servers in case of dynamic reconfiguration (adding and removing servers).
  • No longer generates an error message when a contextual class loader is needed for ObjectMessage.getObject

JORAM release 5.1.0 (September 16, 2009)

Joram 5.1.0 is available in the SVN repository with tag JORAM_5_1_0. This release provides many features and changes:

New features and improvements

  • Improves DMQ behavior and handling of faulty messages,
  • Adds message swap in/out facility,
  • Supplies the MonitoringTopic,
  • Adds flow control and compression in PoolNetwork component,
  • Releases a new J2ME MIDP client,
  • Javadoc and logging enhancements.

Bug fixes

  • Removes a thread leak with the JCA connector.
  • Message blocked in one queue of a cluster queue after visiting others
  • correctly set topicActivationThreshold and topicPassivationThreshold attributes in Joram JMS Session.
  • Restarting of the UDPNetwork error.

JORAM maintenance release 4.3.34 (August 1st, 2008)

Joram 4.3.34 is available in the SVN repository with tag JORAM_4_3_34.

This release only provides bug fixes:

  • Cleans out-of-date requests and improves Consumer.receiveNoWait behavior.
  • HA handling in JCA connector.

JORAM maintenance release 5.0.9 (April 22, 2008)

Joram 5.0.9 is available in the SVN repository with tag JORAM_5_0_9. This release provides many features and changes:

New features and improvements

  • Adds a new UDP based network component.
  • Adds JMX based administration for JNDI implementation.
  • Enhancement in JMX use in an OSGI environment.
  • RA behavior in an HA colocated mode.
  • Javadoc and logging enhancements.

Bug fixes

  • NTransaction: No longer call System.exit in case of fatal errors.
  • JNDI: don't freeze the server in case of context loosing..

JORAM maintenance release 5.0.8 (February 12, 2008)

Joram 5.0.8 is available in the SVN repository with tag JORAM_5_0_8. This release provides many features and changes:

New features and improvements

  • Allows to choose the network component when adding a domain.
  • New HADistributedJndiServer component.
  • Allows administration through HA connection in XML Script.
  • Handling of expired messages in internal queue of MOM.
  • Use of RA with WebLogic server.

Bug fixes

  • Adding and removing a server in a PoolNetwork domain.
  • Starting and stopping a network component.
  • Right handling for ClusterDestination.
  • Allows server's synchronization during engine inactivity.
  • Cluster topic building is now an idempotent operation.

JORAM maintenance release 4.3.32 (February 12, 2008)

Joram 4.3.32 is available in the SVN repository with tag JORAM_4_3_32. This version is bundled in Jonas 4.9. This release provides many features and changes:

New features and improvements

  • New HADistributedJndiServer component.
  • Allows administration through HA connection in XML Script.
  • Use of RA with WebLogic server.

Bug fixes

  • Right handling for ClusterDestination.
  • Allows server's synchronization during engine inactivity.
  • Cluster topic building is now an idempotent operation.
  • Use of <XA><Tcp>ConnectionFactory objects with JNDI.

JORAM maintenance release 5.0.7 (December 19, 2007)

Joram 5.0.7 is available in the SVN repository with tag JORAM_5_0_7. This release provides many features and changes:

New features and improvements

  • Add MySQLDBTransaction and DerbyDBTransaction.
  • Best handling of TTL and priority of the JMS messages.
  • JMX enhancement: ClientSubscriptionMBean added.
  • Asynchronous subscription request.
  • Handling of socket binding either for Joram TCP connections and network components.
  • Handling of serialVersionUID.

Bug fixes

  • Removes NPE during getThreshold if threshold is not set.
  • Synchronization issue in Connection with id generation.
  • Handling of HA connection factories through JNDI.
  • Handling of [NOT] IN in selector.
  • DMQ behavior.

JORAM release 5.0.6 (September 25, 2007)

Joram 5.0 is available in the SVN repository with tag JORAM_5_0_6. This release provides many features and changes:

New features and improvements

  • New serialisation mechanism between client and server to allow the C/C++ client API: Xoram.
  • New architecture for destinations.
  • New architecture for ConnectionFactory.
  • Enhancements for the bridge destinations: XA, etc.
  • Enhancements for clustered destinations.
  • Implements loose coupling for distributed JNDI.
  • Improve AdministeredObject handling.

Bug fixes

  • Message retrieval in DMQ after a restart.
  • Persistance fault with administration messages on Windows.
  • Problems with Soap encoding.

JORAM maintenance release 4.3.30 (September 25, 2007)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_30. This release provides the following fixes and changes:

New features and improvements

  • Implements loose coupling for distributed JNDI.

Bug fixes

  • Message retrieval in DMQ after a restart.
  • Persistance fault with administration messages on Windows.
  • Problems with Soap encoding.

JORAM maintenance release 4.3.28 (April 26, 2007)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_28. This release provides the following fixes and changes:

Bug fixes

  • Sub-context creation through XML scripts.
  • JNDI binding of clustered objects through SOAP.

JORAM maintenance release 4.3.26 (March 27, 2007)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_26. This release provides the following fixes and changes:

New features and improvements

  • Adds clustering facilities in administered objects: connection factories and destinations.
  • Use of inheritance and reflection for generic handling of JNDI references.
  • Use an AbstractConnectionFactory factorizing code between connections factories.

JORAM maintenance release 4.3.25 (March 08, 2007)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_25. This version is bundled in Jonas 4.8.5. This maintenance release provides the following fixes and changes:

Bug fixes

  • Avoid useless socket creation on connection error (HttpNetwork component).
  • Bug fix in handling of byte array as object in BytesMessage.
  • Allow to fix SO_TIMEOUT on StreamNetwork.
  • Fixes in JMS message handling: avoid NPE if message's body is null, and catch NPE in Session.run to avoid MDB blocking.
  • Bug fixes in acknowledge handling of HttpNetwork.
  • toString and hashcode opttimization in Connection object.
  • Allows to asynchronously garbage the Transaction log file.
  • Fixes compatibilty issues with other JMS provider: allow to set JMSDestination with non Joram destination, and to convert messages with 'JMS_' properties.
  • Bug fixes: really remove messages on disk in clear and deleteMessage methods. Previously the messages come back after server retart.
  • Enhancements in mail destinations.
  • Bug fixes in SimpleNetwork. A synchronization issue may result in a message lost in case of network failures.
  • Adds periodic cleaning task for subscriptions.

JORAM maintenance release 4.3.22 (February 26, 2007)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_22. This version is bundled in Jonas 4.8.4. This maintenance release provides the following fixes and changes:

Bug fixes

  • Take in account topicAckBufferMax parameter in MessageConsumerListener.
  • Fix Jonas Bug#306288: Avoid NPE if the LogWriter of JCA connector is null.
  • Adds DeadMQueue.create methods allowing to internally name the queue. It fixes an issue with Jonas.
  • Apply a patch from Mark Anderson to add a timeout in Requestor.request.

JORAM maintenance release 4.3.21 (September 20, 2006)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_21. This version is bundled in Jonas 4.8 and Petals 1.0. This maintenance release provides the following fixes and changes:

Bug fixes

  • No longer removes durable subscription on consumer close (MDB undeploy).
  • Avoid NPE on Session.unsubscribe with null subscription name.
  • Work-around for JDK1.6 in ObjectMessage.
  • Fix NPE in RequestMultiplexer.cleanup (bug JOnAS #306110).

JORAM maintenance release 4.3.20 (August 03, 2006)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_20. This version is bundled in Jonas 4.8. This maintenance release provides the following fixes and changes:

New features and improvements

  • Allows activation of HA mode with Joram RA.
  • Dynamic loading of configuration file through the MBean.

Bug fixes

  • handling of exception in MDB onMessage method (bug JOnAS #305389).

JORAM maintenance release 4.3.19 (July 11, 2006)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_19. This version is bundled in Jonas 4.7.5. This maintenance release provides the following fixes and changes:

New features and improvements

  • XML export facilities for Joram's configuration.
  • Periodic cleaning task for queues.
  • Many improvements about JCA connector.

Bug fixes

  • Fix for SSL connection.
  • Fix for JDK1.5 XML generation.

JORAM maintenance release 4.3.18 (May 31, 2006)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_18. This maintenance release provides the following fixes and changes:

New features and improvements

  • Changes NTransaction to expose a repository interface; provides a File and DB implementation.
  • Adds a DBTransaction implementation of Transaction interface.
  • Adds multi-threading support in HttpNetwork.
  • Adds configuration for SO_TIMEOUT TCP parameter in JNDI.

Bug fixes

  • Fix for redeployment of JCA connector.
  • Run onException in a separate thread to avoid deadlock in connector onException method.
  • Many fixes to improve connection closure.

JORAM maintenance release 4.3.14 (March 19, 2006)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_14. This maintenance release provides the following fixes and changes.

New features and improvements

  • Adds SchedulerQueue.
  • Adds handling of expiration time in MOM.
  • Improvments in Network architecture.

Bug fixes

  • Many bug fixes in handling of messages error and DMQ.
  • Bug fix about connection close, improve cleaning and stop of Joram's connection.

JORAM maintenance release 4.3.12 (January 19, 2006)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_12. This maintenance release provides the following fixes and changes.

New features and improvements

  • Allows to bind Joram to a single IP address in multi-homed host. An optional IP address can be passed in argument of the Joram TCP or SSL service. Thank's to Alex Porras (MediaOcean) for its contribution.
  • Allows multiples 'client' in an Http(s)Network, the unique 'listen' server routes messages between 'client' servers.
  • Adds the HttpsNetwork component.
  • Adds a timeout property for jndi2 connection: its default value is 0, and its name fr.dyade.aaa.jndi2.client.SimpleNamingConnection.timeout.

Bug fixes

  • Report unknown destination to message producer, either throw an exception if the destination is local, or call the exception listener if any.
  • Avoid OutOfRange exception (DestinationPanel.setDestination) in administration GUI.
  • Adds the handling of queueMsgCount property in J2EE environment.
  • Correct the Ant target for SSL sample.
  • Avoid to load then store all messages contained in a queue at startup.
  • Soap serialization problem with Message, NPE if mapBody is null.

JORAM maintenance release 4.3.10 (November 3, 2005)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_10. This maintenance release provides the following fixes and changes.

New features and improvements

  • Basic XML scripting capabilities: it allows creation, deployment and JNDI binding of Destinations, Users and ConnectionFactories.
  • Adds PoolNetwork component in default packaging.

Bug fixes

  • Avoid endless retry during connection.
  • No longer throw a NPE in getMessageListener if none is set.

JORAM maintenance release 4.3.9 (October 25, 2005)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_9. This maintenance release essentially provides a bug fix, it is embedded in the last JOnAS build (4.6.1).

Bug fixes

  • Subscription behavior with nolocal attribute set.

JORAM maintenance release 4.3.8 (October 20, 2005)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_8. This maintenance release provides the following fixes and changes.

New features and improvements

  • Automatically process provider major and minor Version.
  • Use default version number from build.properties.
  • Removes '#' character in Message unique identifier.
  • Removes readMessage in QueueMBean in order to cut out dependancy to the JMS API. Replaces it by getMessageDigest, getMessageHeader and getMessageProperties.
  • Adds resetPropertiesRO method to Message class.
  • Use the ExceptionListener if any in cas of connection problem.

Bug fixes

  • Usage of connection's pool in Resource adapter.
  • Memory leak in Joram adpater. With maxWorks parameter set to 0 (no limit) the pool is not used, InboundSessions are alwaye created, inserted in the pool and never garbaged.
  • Fix Soap serialization problem with MapMessage.
  • Avoid NullPointerException in case of acknowledgment of an inexistent message.
  • Avoid sharing of message structure between different messages in MOM; clone the MessagePersistent and correctly set the message field.
  • Fix reliableClass property in getReference.

JORAM maintenance release 4.3.4 (August 3, 2005)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_4. This maintenance release provides the following fixes and changes.

New features and improvements

  • Performance improvements: management of transient message, saving of messages and agents.
  • Updates JGroups version.
  • Many JMX improvements.

Bug fixes

  • Colocated mode: clones message in sending, fix RO in receiving.
  • HA mode: Adds bag management for ClientSubscription.

JORAM maintenance release 4.3.1 (June 3, 2005)

This is a maintenance release. It is available in the SVN repository with tag JORAM_4_3_1. This maintenance release provides the following fixes and changes.

Bug fixes

  • Internal transactions: NTransaction behavior with big messages. Comments added to NTransaction javadoc. Statistics added. Use of lockfile is now configurable. Optimizations in the Engine, related to stamp savings for non-persistent messages.
  • JMS API : fixes in sendToDMQ method in DestinationImpl

JORAM 4.3 (May 17, 2005)

The Joram 4.3 final release is available in the SVN repository with the tag JORAM_4_3_0. It provides a lot of fixes and improvements.

New features

  • extended JMX management,
  • Performance improvements,
  • Handling of large message transmission (called swap out mode),
  • Complete SSL support with handling of encrypted client to server communications.

JORAM maintenance release 4.2.3 (May 13, 2005)

This is a maintenance release, the last one before version 4.3. It is available in the SVN repository with tag JORAM_4_2_3. This maintenance release provides the following fixes and changes compare to the 4.2.0 version (bug and fixes of maintenance release 4.2.1 and 4.2.2 are hereafter included)

Bug fixes

  • JMS Client API: Fix bug in ClientSubscription by avoiding multiple denies, fix bug in MessageConsumerListener by avoiding messages buffering in queue mode.
  • JMS Messages : Fix bug in Message.convertJMSMessage : no JMSException thrown if optional header (JMSX) are set in a non Joram message, just ignore.
  • Transactions and XA: Fix bug in Session setTransacted (deadlock) come from TX SUSPEND, add Joram version in start of JoramAdapter, fix bug in XAResourceMngr (deadlock).
  • Packaging: change traces in connector and add project name "joram" in build.xml, add JGroups library in shipping.
  • SOAP : Bug fix: Soap encode/decode.

JORAM 4.2 (March 31, 2005)

The Joram 4.2 final release is available in the SVN repository with the tag JORAM_4_2_0. It provides a lot of fixes and improvements.

The documentation has been updated and is available for download.

New Features and Improvments

  • Upgraded JMX management features : Servers list and status in SCServer, Right management in Joram's destinations.
  • Upgraded JDK 1.5 support
  • JAMT : support for dynamic configuration of the JORAM platform
  • Administration module: new operations to read/delete messages from subscriptions and queues.
  • Network communications: Many improvements and bug-fixes in NGNetwork.
  • Joram RA: Add util to configure the joram adapter resource. create new jar joram-config.jar and joram-raconfig.jar. modify ship.adapter, ship.remoteadapter and ship.jonasadapter. update jonas-ra.xml.

Bug fixes

  • JAMT : Closing the "abort dialog" aborts the running operation. Null pointer in popup listener
  • Joram client : Deadlock between message listener and concurrent close.Methods getMetaData from Connection and receiveNoWait from MessageConsumer throw an IllegalStateException if a connection failure occured (e.g. TCP failure).
  • Packaging : Adds jmxri.jar in classpath for samples/bin scripts.
  • Network Communication: Fix in HttpNetwork allowing the usage of a (non HTTP 1.1) proxy.
  • TCK Compatibility for Jonas : regression in TCK, null testing.

JORAM 4.2 RC2 (March 11, 2005)

The Joram 4.2 release candidate 2 is available in the SVN repository with the tag JORAM_4_2_RC2. It provides a lot of fixes and improvements.

New Features and Improvments

  • Upgraded JMX management features : Servers list and status in SCServer, Right management in Joram's destinations.
  • Upgraded JDK 1.5 support
  • JAMT : support for dynamic configuration of the JORAM platform
  • Administration module: new operations to read/delete messages from subscriptions and queues.
  • Network communications: Many improvements and bug-fixes in NGNetwork.
  • Joram RA: Add util to configure the joram adapter resource. create new jar joram-config.jar and joram-raconfig.jar. modify ship.adapter, ship.remoteadapter and ship.jonasadapter. update jonas-ra.xml.

Bug fixes

  • JNDI connection closure.
  • Joram client: fix automatic reconnection policy.
  • Selectors : Encoded string literals as UNICODE. Add joramSelector directory in org/objectweb/joram/shared/selector read joramselector.doc (HowTo generate the joram selector)
  • Network Communication: call server.moveToFirst(SocketAddress) until find the good socket (just for cluster use).
  • High Availability : Test cluster.properties.size() in the cluster configuration phase, in AgentServer.java. Replace serverCluster by server in a3config.dtd and update sample a3config.dtd no longer initialize 'Bag' agent in setState (HATransactionEngine).

JORAM 4.2 RC1 (January 10, 2005)

The Joram 4.2 release candidate 1 is available in the SVN repository with the tag JORAM_4_2_RC1. It provides new features as high-avaibility, dynamic configuration, and a lot of fixes and improvements.

The updated documentation, packaged version for download and more detailed announcement will be available soon on Joram web site.

New Features

  • High Availability Joram V4.2 provides the active replication of Joram servers and underlying agent servers, as well as replicated JORAM clients. It transparently handles network handover and server failover. This version currently relies on the use of JGroups.
  • Dynamic Configuration Joram V4.2 provide facilities to remotely add and remove Joram servers dynamically, using the Joram Administration API. This key feature, combined with upgraded JMX implementation, initiates a new set of management facilities for Joram.
  • Architecture and Performance improvements. Joram V4.2 provides a packaged version of a wide set of deep changes within the Joram and underlying bus architectures that lead to performance improvements compared to prior version V4.1. Communication protocols are concerned by this evolution, thus preventing backward compatibility with prior Joram versions.

Bug fixes

JMS message improvement, numerous bug fixes.

JORAM_4_1_5 (January 7, 2005)

This maintenance release is available in the SVN repository with the tag JORAM_4_1_5. It provides minors new features as dynamic configuration of logging and support for Java 1.5 or JMX. Except an important failure it should be the last 4.1.x version, the next release will be the 4.2 RC1 with high-avaibility and numerous improvements.

Feature improvements

  • JDK1.5 compatibility.
  • Add JMX management: server, engine, network, agent...
  • Transaction: Factorize definition in interface, allows to release a non-commited transaction
  • Configuration of logging might be changed dynamically at runtime.
  • Adds configuration of connection in ra-remote.xml

JORAM_4_1_4 (December 22, 2004)

This maintenance release is available in the SVN repository with the tag JORAM_4_1_4. This release contains some minor features and bug fixes (see below the history file).

It is also available for download and the documentation has been slightly updated.

Configuration improvements

  • Add configuration of connectingTimer, cnxPendingTimer and txPendingTimer in the connector.
  • Defines provider metadata in a unique class.
  • Set default transaction manager NTransaction in the connector.
  • JoramAdapter : remove scn:com/ prefix when we register a destination.

Bug fixes

  • invalid mesage removal in ClientSubscription.
  • Bug fixes in UserAgent.

JORAM_4_1_2 (November 9, 2004)

This maintenance release is available in the SVN repository with the tag JORAM_4_1_2. This release contains some minor features and bug fixes (see below the history file).

It is also available for download and the documentation has been slightly updated.

Performance enhancements

  • Changes in TCP connection to improve performances.

Bug fixes

  • Corrects mistakes in ra.xml and ra-remote.xml files.
    • Removes empty (and useless) <icon> </icon> tags.
    • Remove spaces and eof lines in the <xxx-class> tags and <xxx-interface> tags.
  • Fix bug (NullPointerException) in OutboundConnectionFactory.java, cxManager can be null.
  • Throws a StateException in setCtx(int key) if key <0 (ProxyImpl.java).

JORAM_4_1_1 (October 13, 2004)

This maintenance release is available in the SVN repository with the tag JORAM_4_1_1. This release contains some minor features and bug fixes (see below the history file).

It is also available for download and the documentation has been slightly updated.

New features and updates

  • Allows to fix inFlow value through ConnectionManager.inFlow property.
  • Allows change of default identity through JoramDfltLogin and JoramDfltPassword properties.
  • Major changes in the network architecture:
    • Reconnection after persistancy failure,
    • Deletion of old unused components: clock, update, etc.
    • Adds PoolNetwork component (beta).
    • Allows connection of reset(or non persistent) servers.
  • Allows swap out of messages in message consumer (MessageVector impl.)

Bug fixes

  • Bug fixes in RA descriptors.
  • Uses of JAXP classes and interfaces (xerces no more needed).
  • Bug fixes in TCP client/server connection.
  • Minor fixes in the ship and release processes.

JORAM 4.1 (September 14, 2004)

This version, integrated in JOnAS, succesfully passed the JMS test Suite of J2EE 1.4 TCK.

Modifications

  • Full featured JCA 1.5 RA
  • Clustered Queues for load-balancing purposes, in addition to existing clustered Topics

JORAM_4_0_5 (August 2, 2004)

This maintenance version is integrated in the latest JOnAS release available on SVN (JOnAS 4.1.3). This maintenance version succesfully passed the JMS test Suite of the J2EE 1.4 TCK

CVS base, no tag

Getting Joram through CVS without specifying a tag allows to get the latest tagged version with the latest corrections and updates.

Modifications (latest: May 17, 2004)

  • Config file extension changed to .cfg; slight change in the tracing module; better handling of a stopping adapter, by unregistering all mbeans. Updated package is org.objectweb.joram.client.connector.
  • Many improvements in the org.objectweb.joram.client.connector package for better handling the state management of the wrapping Outbound objects.
  • NbMaxAgents variable set when launching a non persistent server through the adapter, so that no agents swapping is performed (updated class: org.objectweb.joram.client.connector.JoramAdapter).
  • Admin file searched in the class loader if path not set, in org.objectweb.joram.client.connector.JoramAdapter.

Corrected bugs (latest: May 11, 2004)

  • Dependency of a client class to a server class (org.objectweb.joram.shared.client.QBrowseReply). Updated classes are org.objectweb.joram.shared.client.QBrowseReply and org.objectweb.joram.mom.proxies.ProxyImpl.
  • org.objectweb.joram.client.jms.admin.AdminModule.connect() not working with XA factories, found by Bradely Mazurek. The class has been updated.

JORAM_4_0_2 (May 4, 2004)

This maintenance version should be integrated into JOnAS 4.1

Modifications (latest: April 28, 2004)

  • Submission of the fr.dyade.aaa.jndi2.scn package allowing to use serveral JNDIs as documented here (section 3.2).
  • Destinations' administrative names are now returned when calling the AdminModule.getDestinations monitoring methods, and wrapped into the corresponding Destination instances.
  • Large update of the XA classes implementation for a better XA support (for example, recovery is now provided). Submissions occured in the org.objectweb.joram.client.connector, org.objectweb.joram.client.jms, org.objectweb.joram.mom.proxies, and org.objectweb.joram.shared.client packages.
  • Following the renaming of kjoram.jar to joram-kclient.jar, the samples/src/kjoram directory should be updated.

Corrected bugs (latest: April 28, 2004)

  • Broken SOAP connections not detected, found by Christian Neudorfer. The corrected classes are org.objectweb.joram.client.jms.soap.QueueSoapConnectionFactory, org.objectweb.joram.client.jms.soap.SoapConnectionFactory, org.objectweb.joram.client.jms.soap.TopicSoapConnectionFactory, and org.objectweb.joram.client.jms.admin.ObjectFactory.
  • Transacted sending not working from kJoram client, found by André Bottaro. The bug is corrected, the packages to update are com.scalagent.kjoram.ksoap and com.scalagent.ksoap.

joram4_0_1 (March 23, 2004)

This maintenance version is integrated within JOnAS 4.0

Modifications

  • New logging configuration, based on JavaLog rather than on log4j. Updated file is samples/config/a3debug.cfg.
  • New JORAM shipping; generated jars now are:
    • joram-client.jar: client library
    • joram-mom.jar: server library
    • joram-shared.jar: client/server shared library

Corrected bugs

  • Blocking admin disconnection, found by Martin Thompson. When disconnecting an administrator from a stopped server, the disconnect() call would block and never return. The bug is corrected, the updated class is org.objectweb.joram.client.jms.admin.AdminModule.
  • Improper construction of the mom.jar library, found by Nigel Rantor. The fr.dyade.aaa.jndi2.distributed package was not included in the jar construction, preventing any distributed JNDI conf to work. An updated joram.xml build file has been submitted under src/.
  • kJoram compiling issues, found by Stanley. Due to improper build setup and JORAM 4.0 new connection management, kJoram client classes could not be compiled and used anymore. Many corrections have been made in the CVS tree, to get them please update com/scalagent.
  • Blocking connection request, found by Piero de Salvia. In case a user does not exist, trying to open a connection for this user would block instead of throwing a security exception. The bug is corrected, the updated class is org.objectweb.joram.mom.proxies.OpenConnectionNot.
  • Improper connection close, found by Christian Neudorfer. Due to a static timer, it was not possible to open a new connection after having closed one in a same process. Bug is corrected, the impacted classe is org.objectweb.joram.client.jms.Connection.
  • SOAP connections failures never detected, found by Christian Neudorfer. Despite the setting of the connection pending timer, a failing SOAP connection was never detected due to an improper reconstruction of SOAP connection factories retrieved from JNDI. The bug is corrected, the impacted classes are org.objectweb.joram.client.jms.soap.SoapConnectionFactory, org.objectweb.joram.client.jms.soap.QueueSoapConnectionFactory, and org.objectweb.joram.client.jms.soap.TopicSoapConnectionFactory.
  • Incorrect target for launching JORAM as a SOAP service in the samples build.xml file, found by Christian Neudorfer. The target still refers to the old fr.dyade.aaa.joram package instead of refering to org.objectweb.joram.client.jms. An updated version has been submitted in CVS.

joram4_0_0 (February 13, 2004)

This version provides new functionnalities (collocated client-server communication protocol, universal JMS bridge feature, distributed JNDI server) and introduces a new sources architecture.

Modifications

Packages under fr/dyade/aaa/joram and fr/dyade/aaa/mom have moved under org/objectweb/joram/client, org/objectweb/joram/mom and org/objectweb/joram/shared. The main evolutions occured in these latest packages, as well as in fr.dyade.aaa.agent and fr.dyade.aaa.jndi2.

joram3_7_1 (February 3, 2004)

This version has been tagged for integration within JOnAS 3.3.6.

Modifications

  • ObjectMessage optimization [2]. When a getObject() call fails, an other trial is performed using the context class loader. This again, for improving JORAM's behaviour within an application server. Impacted class is fr.dyade.aaa.joram.ObjectMessage.
  • ObjectMessage optimization [1]. The wrapped object in an ObjectMessage instance is not automatically deserialized when reaching the consumer's connection, but only when calling the getObject method. This for improving the behaviour of JORAM within application servers. The updated classes are fr.dyade.aaa.mom.messages.Message and fr.dyade.aaa.joram.ObjectMessage.
  • New flow control mechanism. In order not to overload a JORAM server with incoming messages, it is possible to set a maximum authorized flow (in messages / second). This setting is done in the configuration file, at the ConnectionFactory service level. For example, for limitating the flow to 50 messages per second: <service class="fr.dyade.aaa.mom.proxies.tcp.ConnectionFactory" args="16010 root root 50"/>. The updated classes are fr.dyade.aaa.mom.proxies.tcp.ConnectionFactory and fr.dyade.aaa.mom.proxies.ProxyImpl.

Corrected bugs

  • Expired message monitored as pending messages. When monitoring a queue's messages, the expired messages are now removed (and sent to the DMQ, if needed), and thus not listed as pending messages anymore. The updated class is fr.dyade.aaa.mom.dest.QueueImpl.
  • Expired "receive" requests monitored as pending requests, as described here. When monitoring a queue's requests, the expired requests are removed and thus not listed as pending requests anymore. The updated class is fr.dyade.aaa.mom.dest.QueueImpl.
  • Automatic deny request sent to already deleted temporary queue, found by Gerald Schröder. This bug had no influence on a server's operations, however it generated the logging of ERROR messages. It is corrected, the class to update is fr.dyade.aaa.mom.proxies.ClientContext.
  • NullPointerException thrown by a single user's proxy which subscribed to various leafs of a same topic hierarchy, found by Mark Anderson. This bug is due to messages not being cloned in the topic leafs and to an improper processing of duplicated incoming messages. It has been corrected, the impacted classes are fr.dyade.aaa.mom.dest.TopicImpl and fr.dyade.aaa.mom.proxies.ClientSubscription.
  • Improper message delivery in a topic hierarchy when set on a single server, and when consumers subscribe to various leafs of the tree. Messages were not appropriately cloned and this resulted in subscribers never getting any message. The bug is corrected and the impacted class is fr.dyade.aaa.mom.dest.TopicImpl.
  • Messages delivered in an incorrect order after a rollback or disconnection, found by Franck Delporte. In some cases messages were delivered in an order different from the original delivery order after a client rollback or disconnection. The bug is corrected, the updated classes are fr.dyade.aaa.mom.dest.QueueImpl, fr.dyade.aaa.mom.messages.Message, fr.dyade.aaa.mom.proxies.ClientSubscription, fr.dyade.aaa.mom.proxies.ProxyImpl.
  • Message delivered twice, found by Dirk Muthorst. In a very specific case, persistent messages might be duplicated by the server. It occured when a message which arrived for example on a queue, was persisted alone, then consumed and denied but with other messages. Then it would be persisted again with the group of denied messages, its original individual persistence file being kept. Thus, the message would finaly be consumed twice after a server recovery (tricky!). The bug is corrected and the updated class is fr.dyade.aaa.mom.messages.PersistenceModule.

joram3_7_0 (November 3, 2003)

This release introduces a graphical administration and monitoring tool.

Modifications

  • Creation of a new sources branch: org.objectweb.joram, destinated to contain the JORAM client and MOM sources.
  • Submission of a new graphical administration tool engineered by Alexander Fedorowicz, in org.objectweb.joram.client.tools.admin.

Corrected bugs

  • Recovery issue, found by Dirk Muthorst. When stopping a JORAM server during a PTP exchange, and re-starting it, a NullPointerException was happening from time to time. This was due to the fact that the consumer's proxy would deny twice a same message (the message currently exchanged when the server stops), and that the queue could not handle this double deny. This bug is corrected, the corrected class is fr.dyade.aaa.mom.dest.QueueImpl.
  • NullPointerException occuring when requesting the defaut DMQ settings of a server in a distributed configuration; corrected class is fr.dyade.aaa.mom.dest.AdminTopicImpl.

joram3_6_3 (October 14, 2003)

This release is integrated into JOnAS 3.3.1.

Modifications

  • New possibility to create JORAM destinations with a name, so that such destinations may be permanently retrieved independently of JNDI. The modified classes are fr.dyade.aaa.joram.admin.AdminItf, fr.dyade.aaa.joram.admin.AdminImpl, fr.dyade.aaa.mom.admin.CreateDestinationRequest and fr.dyade.aaa.mom.dest.AdminTopicImpl.
  • New build.xml file for simplier building and cleaning targets.
    • Shipping JORAM: ant ship.joram
    • Shipping kJORAM: ant ship.kjoram
    • Cleaning the distribution: ant clean

Corrected bugs

  • Impossible to bind TopicSoapConnectionFactory objects when using JORAM JNDI through the SOAP protocol, found by Sabrina Tardelli. The bug is corrected, the impacted classes are fr.dyade.aaa.joram.soap.TopicSoapConnectionFactory and fr.dyade.aaa.joram.soap.QueueSoapConnectionFactory.

joram3_6_2 (September 22, 2003)

This release is integrated into JOnAS 3.3.

Modifications

  • Modification of AgentServer and NameService initialization allowing to stop a server (AgentServer.stop()), intialize it (AgentServer.init(...)) and start it again. In NullTransaction mode should allow to re-initialize completely the server. Impacted packages are fr.dyade.aaa.agent, fr.dyade.aaa.ns and fr.dyade.aaa.util.

Corrected bugs

  • Invalid creation of a s$i persistence root when running JORAM in transient mode; impacted classes are fr.dyade.aaa.agent.AgentServer, fr.dyade.aaa.util.ATransaction and fr.dyade.aaa.util.NullTransaction.

joram3_6_1 (September 11, 2003)

This release introduces MBean classes for standard JMX management.

Modifications

  • JMX MBeans introduced for the management of the JORAM destinations and users. The "MBeanified" destinations are still hosted by the fr.dyade.aaa.mom.dest package (more packages have been impacted by the support of JMX). This new feature is not documented yet.

Corrected bugs

  • Destinations were not removed from internal lists when being deleted. Bug corrected in fr.dyade.aaa.mom.dest.AdminTopicImpl.
  • Bug related to the MessageConsumer noLocal attribute, found by Tony Thompson. The bug has been corrected, the impacted class is fr.dyade.aaa.mom.proxies.ClientSubscription.
  • Invalid precedence on naming properties (as noticed here). The correct order is now taken into account. Modifications occured in the fr.dyade.aaa.jndi2 package.
  • Blocking AdminItf.stopServer method (as noticed here). The processing of this method disapeared from the administration topic server side since release 3.5, probably due to an invalid CVS merge. The code is back now in class fr.dyade.aaa.mom.dest.AdminTopicImpl.

joram3_6_0 (August 7, 2003)

This version provides the kJORAM libraries allowing J2ME applications to connect to the JORAM platform.

Modifications

  • Major modifications occured to the CVS tree. kJORAM sources are located in the src/com/scalagent directory. JORAM samples have been moved to the samples/src/joram directory, and the configuration files directory is now samples/config. The kJORAM samples are located in the samples/src/kjoram directory.
  • Improvement of the closing of a dead connection; particularly, calling Connection.close() within the onException method of an ExceptionListener would generate an infinite closing loop. The impacted class is fr.dyade.aaa.joram.Driver.
  • setConfig(...) method in fr.dyade.aaa.agent.AgentServer has now a public access for configuration purposes; calling it after the server has been started throws an exception.

Corrected Bugs

  • ClassCastException occuring in fr.dyade.aaa.mom.proxies.ProxyImpl when subscribing to a non-readable topic, found by Prashanth Kasturi. The bug is corrected, the impacted class is fr.dyade.aaa.mom.proxies.ProxyImpl.
Copyright © 1999-2018, OW2 Consortium | Contact | Webmaster | Last modified at 2024-03-28 05:52 PM