Oracle Message Broker Release Notes Release 2.0.1.0 Part Number A85436-01 |
|
Release 2.0.1.0 for UNIX and Windows NT
September 2000
Part No. A85436-01
Contents
The Oracle Message Broker documentation is available in the directory $ORACLE_HOME/omb/2.0/doc (or %ORACLE_HOME%\omb\2.0\doc on Windows NT). Refer to this directory for the following Oracle Message Broker guides:
Oracle Message Broker Release 2.0.1.0 supports JMS as described in the JMS 1.0.1 Specification. See "Unsupported JMS Functionality" for a list of features not supported in this release.
In addition to the limitations listed in this section, there are JMS limitations and restrictions based on the type of driver selected. Refer to the driver specific notes for a list of limitations by driver. For all drivers, the following JMS functionality is not supported in this release of Oracle Message Broker.
Message.acknowledge()
is not supported [JMS 3.6]
TemporaryQueue
interface is not supported [JMS 5.4]
TopicRequestor
interface is not supported [JMS 6.14]
TemporaryTopic
interface is not supported [JMS 6.6]
ServerSession
interface is not supported [JMS 7.2.2]
ServerSessionPool
interface is not supported [JMS 7.2.3]
ConnectionConsumer
interface is not supported [JMS 7.2.4]
cn=msg_broker
. This restriction allows for only one broker entry per OMB Instance in the directory.
oracle.oas.mercury.MercurySession.IMMEDIATE_ACKNOWLEDGE
Oracle Message Broker client-side code from previous releases of Oracle Message Broker that used non-transacted sessions with AUTO_ACKNOWLEDGE delivery mode must be updated to use IMMEDIATE_ACKNOWLEDGE delivery mode.
See the Oracle Message Broker Administration Guide for more details on the supported acknowledgment mode for non-transacted sessions, and the handling of runtime exceptions.
Oracle Message Broker Release 2.0.1.0 supports JMS as described in the JMS 1.0.1 Specification. See "Unsupported JMS Functionality" for a list of features not supported in this release. In addition, this section covers the following limitations and known errors:
There are differences between Oracle Message Broker Release 2.0.1.0, as supplied on the Oracle 8i Release 8.1.7 CD and the version supplied on the Oracle Message Broker Release 2.0.1.0 CD. In particular, the Oracle Adapter Framework and the Dynamic Monitoring Service (DMS) GUI are available on the Oracle Message Broker Release 2.0.1.0 CD.
When you need to deinstall the Oracle Message Broker, always use the Oracle Universal Installer. The Oracle Universal Installer places an inventory file on your system to keep track of installed Oracle products. If you remove files manually, the inventory file is not updated and attempts to reinstall Oracle Message Broker will not succeed.
The following list contains further details on this change.
aq_username
: The attribute aq_username
for entries of type aq_server
is now mandatory. Scripts that create an AQ Server now need to include a value for the aq_username
attribute.
remote_dir_dn
: The attribute remote_dir_dn
of the entry type propagation_job
has been renamed to remote_dn
. This attribute can now be either the DN of a remote directory entry or the DN of a RemoteHTTP entry. Existing directory entries need not be changed since the administration code will translate remote_dir_dn
values to appropriate values for remote_dn
.
AdminUtil
scripts that use remote_dir_dn
will fail with an unknown attribute error message.
is_queriable
: The attribute is_queriable
associated with a queue entry or a topic entry has been deprecated. Existing directory entries need not be changed, since the administration code translates values from is_queriable
to appropriate values for the new attribute, aq_adt
. The is_queriable
attribute value true
translates to the value queriable
for the aq_adt
attribute. The is_queriable
attribute value false
translates to the value raw
for the aq_adt
attribute. Any update to an existing directory entry results in the replacement of is_queriable
by aq_adt
.
AdminUtil
scripts that use is_queriable
will fail with an unknown attribute error message.
AdminUtil
or ombadmin
. User entries are created in the Users container below the OMB entry. Group entries are created in the Groups container below the OMB entry. Attributes for Users and Groups can only be changed when the entry is created.
Jlaunch
, Register
, Unregister
. A software patch adds support for these commands. Contact your Oracle Support Services representative or support.us.oracle.com to obtain further information (associated bug 1319440).
Resource exceptions can be thrown on any method that increases the state of the Oracle Message Broker. The Oracle Message Broker state is increased by creating producers or consumers. The state is also increased by sending messages using the Volatile Driver. An exception is also thrown when the Oracle Message Broker is low on memory. The Oracle Message Broker attempts to reclaim memory by calling System.gc()
prior to throwing resource exceptions.
The resource exceptions that are thrown are of the type:
javax.jms.ResourceAllocationException
To avoid resource exceptions, start the Oracle Message Broker with a larger JVM heap size.
ombaq_map_msg
object type. The failure generates an ORA-600 exception. The failure does not occur for JMS topics (AQ multi-consumer queues). The exception occurs on receive when the queue is empty. The bug number for this bug is: 1288749.
|
Limitation |
Value |
|
Maximum length of a queue name |
30 bytes |
|
Maximum length of a subscriber name |
30 bytes |
|
Maximum length of a correlation ID |
128 characters |
|
Limitation |
Value |
|
Maximum length of a destination name (queue or topic) |
64 bytes |
|
Maximum length of a reply_to field name |
64 bytes |
|
Maximum length of JMS Header type field |
32 bytes |
MQSeries Limitations
TIBCO Driver Topic Name Limitations - When an Oracle Message Broker administrator creates a topic for the TIBCO Driver, the common name (cn) for the topic must comply with the following rules for TIBCO subjects (see the Rendezvous Administration Guide for details). Alternatively, if the topic attribute provider_queue_name is supplied for the topic name, the value provided for the provider_queue_name must comply with these rules:
HTTP Listener networking error
This message indicates that an invalid hostname, port number, or an invalid wallet location or password was specified in the HTTP listener entry (prop_http).
Failed to create a socket to host hostname:port#, error code = 20
The JMS specification requires strings to be encoded in UTF-8 format when:
The only other way to put a string into a BytesMessage is to call BytesMessage.writeChar for each character in the string. UTF-8 limits Strings to 65535 characters. The implications for working with Strings longer than 65535 characters follow.
TextMessage.setText accepts strings that have more than 65535 characters. These messages will not be handled correctly when they are converted to UTF-8 in either of the following cases:
In the Oracle Message Broker Javadoc, the setDeliveryMode() description states that the producer's default delivery mode is set to PERSISTENT. This is only true for the MQSeries Driver, the AQ Driver, and the AQ Lite Driver. When using Oracle Message Broker with the Volatile Driver, the Multicast Driver, or the TIBCO Driver, the default mode is NON_PERSISTENT.
The maximum size for messages sent using the Oracle Message Broker is limited by several factors.
For clients in local mode, the maximum message size is limited by the memory and resources available in the JVM running the client and the Oracle Message Broker.
For clients in Remote Mode, the maximum message size is limited by the memory and resources available in the JVM running the client and the Oracle Message Broker.
If a client does not explicitly set a connection's client identifier, the value for the client identifier is null, and the method call Connection.getClientID()
returns null.
Due to upcoming changes required for JMS 1.0.2, it is recommended that if a client explicitly sets the client identifier using setClientID()
, that the set be performed immediately after creating the connection and before any other action on the connection is taken.
The following JDK limitations may affect the Oracle Message Broker or Oracle Message Broker clients.
The Oracle Message Broker and the JMS client-side runtime throws an exception if either are started with an unsupported JVM version. When the system property oracle.oas.mercury.anyjvm is set, the Oracle Message Broker and the client-side runtime do not check the JVM version.
An unsupported JVM version is a JVM that does not set the system property "java.version", or one that sets the system property to a string that starts with: '1.0', '1.1.0', '1.1.1', '1.1.2', '1.1.3', '1.1.4' or '1.1.5'.
Thread.start
when multiple threads are started in a loop. The workaround is to call Thread.sleep
in between calls to Thread.start
.
Bugs 213274 and 4213270 describe this problem in Javasoft bug parade.
For example, the following code can cause exceptions on dual-processor Windows NT systems.
class MyThread extends Thread { ... } for (int i = 0; i < 10; i++) { MyThread mt = new MyThread(); mt.start(); }
The workaround is:
class MyThread extends Thread { ... } for (int i = 0; i < 10; i++) { MyThread mt = new MyThread(); mt.start(); Thread.currentThread().sleep(500); }
http://developer.java.sun.com/developer/bugParade/bugs/4138925.html
The Oracle Message Broker may encounter the following problems that may prevent the runtime from increasing the size of the heap.
The garbage collector may prevent the JVM runtime from increasing the size of its heap. The workaround for this problem is to start the JVM with a maximum and initial heap size that are the same. Using these options, the garbage collector is unable to resize the heap.
For a given heap size, the JDK allows a fixed number of objects to be concurrently allocated. If the allocated objects are small, the JDK throws out of memory exceptions when there is a significant (> 50%) amount of heap space available. The garbage collector also has a problem when most of the heap is allocated. This problem may prevent the runtime from increasing the size of the heap.
The workaround is to be aware of the maximum number of objects for a specific heap size. The maximum number of objects per MB of heap space is approximately 25,000.
Javasoft bug ids for these bugs include: 4209215, 4055198.
JDK 1.2 uses much more memory than JDK 1.1.x. For example, an Oracle Message Broker started with a 64MB heap, using the volatile driver, and JDK 1.1.8 uses about 85MB. The Oracle Message Broker with the same configuration using JDK 1.2 uses about 120MB at startup.
|
![]() Copyright © 1996-2000, Oracle Corporation. All Rights Reserved. |
|