Notes on Universal Messaging Support for JMS 2.0
Some of the Universal Messaging functions do not behave as described in the JMS 2.0 standard as follows:
- JMSTimeStamp specifies the earliest time when a Universal Messaging server can deliver a message to a consumer.
- Universal Messaging does not support JMSDeliveryTime on the consumer side.
- The MessageProducer#send() method does not return an
UnsupportedOperationException
if a message producer specified a destination at creation time. Instead, messages are sent to the destination. - The client ID for a connection factory is mandatory. If you do not configure a client ID
explicitly in the Enterprise Manager, Universal Messaging sets it automatically.
After you configure a client ID, you cannot change it.
For information about how to configure the client ID, see Configuring the Client ID of a Connection Factory.
- Universal Messaging persists and retains shared non-durable subscriptions even when no active consumers are present on the subscription. To delete a shared non-durable subscription, you must explicitly invoke Session#unsubscribe().
- The Session#createDurableSubscriber() method allows you to create
multiple consumers on a shared durable subscription without returning a
JMSException
orJMSRuntimeException
. You can create additional consumers that have the same name and client ID, if set, but a different topic or message selector.
For more information about the JMS 2.0 standard, see the Oracle JMS documentation.