• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

JMS on MQSeries via MDBs

 
Ranch Hand
Posts: 188
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I've got an interesting situation here. I've just inherited a bunch of codes which (do not come with any deployment descriptors). Basically there is a working system which uses a java client to send out JMS message to an MQSeries 5.2 queue. Then, an MDB is there to listen to it.
The system is running fine, but I'm supposed to be documentating the flow of what needs to be done for any new developer point of view. I'm new to the project and know nuts about MQ and only know some JMS.
There is the MA88 Package in place. I would like to know how do we configure the MDB to 'listen' to an MQSeries queue. Is it in the deployment descriptor? (I do not have them). And, what configuration is required to be done in the app server (WebLogic) to recognise the queue factory, etc.
FYI, the app server used is WebLogic 6.1
Any hint would be nice, thank you.
 
Ranch Hand
Posts: 1561
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Simon See:
...I would like to know how do we configure the MDB to 'listen' to an MQSeries queue. Is it in the deployment descriptor? (I do not have them)...


Well.. in the EJB jar you need to specify the MDB, something like :

So here you're saying that your MDB will be listening to a Queue.
You will also need another xml file that contains all the available topics and queues (and if you need to create another one you should add it there). I have no idea how it is with weblogic, but in JBoss 3.0.x is in jboss-webq.xml (notice that these guys at Jboss keep changing name to its xml descriptors, so it might be outdated ;-). something like this..

as you mentioned, this is only a hint . So if you have no descriptors at all, how are you doing the documentation..? bit tough ...
hope this helps
 
Jes Sie
Ranch Hand
Posts: 188
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks.
This seems like a good info. But, I'm more a less know how it's done with java client to send JMS to MDBs. I'm just wondering what would be 'additional' if MQSeries were used instead of native JMS.
I've got the MA 88....which is the wrapper for JMS for MQSeries. Just no configuration files included. The code on sending message to the MQ seems to be using the same old default connection factory, javax.jms.QueueConnectionFactory. I expected an MQSeries connection factory or something?
Somehow WebLogic is making this foreign JMS provider (MQ) local to Weblogic. How?
 
Ranch Hand
Posts: 2713
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It is possible that the messages are being moved to WebSphere MQ via a separate process (this is how I do these types of things). Therefore, all the internal JMS producers are insulated from the fact that WebSphere MQ is being used.
The separate moving process could either be another MDB/JMS Listener that explicitly writes to WebSphere MQ or a WebLogic Messaging Bridge. Messaging Bridges were added to WLS in 6.1 and are used to integrate with Foreign JMS Providers (exactly your situation). For more information see: Using the WebLogic Messaging Bridge.
 
Jes Sie
Ranch Hand
Posts: 188
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Chris Mathews:
It is possible that the messages are being moved to WebSphere MQ via a separate process (this is how I do these types of things). Therefore, all the internal JMS producers are insulated from the fact that WebSphere MQ is being used.
The separate moving process could either be another MDB/JMS Listener that explicitly writes to WebSphere MQ or a WebLogic Messaging Bridge. Messaging Bridges were added to WLS in 6.1 and are used to integrate with Foreign JMS Providers (exactly your situation). For more information see: Using the WebLogic Messaging Bridge.


Not quite, the Messaging Bridge thingy is only meant for WLS 7.0 (and possibly very high SP version of 6.1).
There are other strategy documented here like using Startup class, LDAP, etc.
Foreign JMS strategies
I seem to answer my own question
I welcome more inputs and code snippets, though.
 
Chris Mathews
Ranch Hand
Posts: 2713
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Simon See:
Not quite, the Messaging Bridge thingy is only meant for WLS 7.0 (and possibly very high SP version of 6.1).


The WebLogic Messaging Bridge has always been available in WLS 6.1, it was just not officially supported until 6.1 SP3.
 
Space pants. Tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic