Author |
Message
|
atheek |
Posted: Fri Sep 12, 2008 5:27 am Post subject: Setting context from mqjms? |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
Is it possible to set values for fields like ApplIdentityData orApplOriginData from mq jms..I know its possible from mq java...?
thanks,
Atheek |
|
Back to top |
|
 |
bower5932 |
Posted: Fri Sep 12, 2008 5:37 am Post subject: |
|
|
 Jedi Knight
Joined: 27 Aug 2001 Posts: 3023 Location: Dallas, TX, USA
|
Some fields can be set. If you look at the Using java manual, it will show a mapping between JMS and MQ. |
|
Back to top |
|
 |
atheek |
Posted: Fri Sep 12, 2008 5:18 pm Post subject: |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
Yes. I have read that, but I couldn't see these 2 fields there.. |
|
Back to top |
|
 |
atheek |
Posted: Fri Sep 12, 2008 9:35 pm Post subject: |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
Hi All,
This is the requirement we have
Client application running on AIX needs to talk with a mainframe Qmgr via a Windows 2003 qmgr.
Client is a j2ee application running on app servers which puts messages to a remote Q in the windows qmgr which is binded to the mainframe Q.
Client uses standard jms api.
The application at mainframe side requires , the following mqmd fields to be set to a set of values defined by them: :
UserIdentifer
ApplnIdentityData
Appln OriginData
How can we do this: ? As far as I know, UserIdentifier can be set if we run the mcauser of the svrconn channel used by the client application to the value required by mainframe..the overhead with this we need to define the userid in the windows environment and grant sufficient privelages.. But by the look of things, there is no way we can set the other two values using mqq jms...Should we ask the client appln team to use mq java instead? Or is there some other better approach for this requirement?
Note that we dont have an option to ask the mainframe side to change their requirements |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Sep 13, 2008 3:19 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Ideally you could use a program in between to mediate, like WebSphere Message Broker.
But no there is no setup that will allow you to set this from JMS.
As an alternative you could send the information in the RFH header. That would require the MF to be able to read set RFH header... and interpret correctly the values... May not be possible if you are using a canned bridge...
You could also use the MF to pick the message up from Q A and set the header and put it to Q B...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
atheek |
Posted: Sun Sep 14, 2008 1:59 am Post subject: |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
Thanks FJ..The windows environment is our integration environment and we use BEA ( oops, now Oracle) products like WLI and ALSB. The project doesn't want to build anything in the integration platform ( cost cutting) and wants to use the MQ manager alone...After their analysis, they somehow decided this solution. The mainframe side is not that flexible and the only work around I can see is build something in WLI( which supports mq base java) to set these header fields
-Atheek |
|
Back to top |
|
 |
atheek |
Posted: Mon Oct 20, 2008 8:43 pm Post subject: |
|
|
 Partisan
Joined: 01 Jun 2006 Posts: 327 Location: Sydney
|
This is one of the proposed solution for setting the context. I would like to know whether this solution is feasible or not:
The app server puts a message to a local jms queue defined under the app server. A MDB is used to poll the jms queue and deliver the message to the MQ using java native api. The context is set within the onMessage method using Java API.
We are looking at once and only once quality of service. We can use a XA enabled connection factory to read the messages off the JMS queue and Syncpoint the MQPUT.
This solution however supports only single phase commit still.
And there are possibilities for duplicates.
Like to know whether its possible to convert such a setup to get exactly-once QoS.
A few basic questions:
How does the app server transaction manager know what are the different resource managers taking part in the transaction. I am using mq under syncpoint within the onMessage method using java api. Will MQ be listed as a resource manager in the transaction if it is container managed?
If I just do a MQPUT under syncpoint and finish off the onMessage ( no MQCOMMIT) will the put commit when the container's transactions commit? |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Oct 21, 2008 1:18 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Have you looked @ MQ V7? This would solve theese problems for you.
If it were WAS I'd say yes and yes to your transactionality questions. I believe with the JCA edition you get the etc client with the distribution in JMS  _________________ MQ & Broker admin |
|
Back to top |
|
 |
|