Saturday, October 16, 2010

Weblogic JMS

Link for looking up all jms queues using jmx

http://weblogic-zone.blogspot.com/2010/01/jms-resources-using-jmx.html

You can use a JMX program, WLST, JConsole, or the console.

See the documentation on using WLST

http://download.oracle.com/docs/cd/E15523_01/web.1111/e13715/toc.htm

See the documentation on writing JMX clients

http://download.oracle.com/docs/cd/E15523_01/web.1111/e13729/toc.htm

See the MBean reference documentation

http://download.oracle.com/docs/cd/E15523_01/apirefs.1111/e13951/core/index.html

The JMX distributed queue mbeans have type = weblogic.j2ee.descriptor.wl.DistributedQueueBean

You can either walk down the hierarchy starting at the Domain MBean and into the JMSSystemResource MBean or you can query for specific MBean types.


JMS and OSB

One issue that I’ve seen on a client site.

An OSB proxy is set up to consume from a JMS queue. Data is injected into the queue but the Proxy does not consume it.

(Only seen when custom dispatch policies were used)

This is a weblogic bug. The workaround is to go through the configuration of the proxy, and assign it a different Dispatch Policy. This would enable consuming of the queue. Then you can simply rollback the change in OSB, and consuming will continue.


JMS Unit of Order

http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms/uoo.html

Message Unit-of-Order is a WebLogic Server value-added feature that enables a stand-alone message producer, or a group of producers acting as one, to group messages into a single unit with respect to the processing order.
Note that it appears to cause problems with the JMS Api's for viewing message payloads.

Editied Note.. We found an MBean API for discovering these. It involves using the MBean operation getMessages (specifying a flag). I will blog about it later

No comments: