Hi Paul,

Hmmm. The way I read the description of the property in the Using Java
manual, it appeared that the default value of the property would maintain
the MQ v5.3 behavior. But in any event, in reading your note it appears
that what this represents is a change in implementation that this
particular application was dependent on. We cannot change the JMS
specification, but the implementation of that specification (and therefore
the underlying behavior) can definately change, and has often done so.
Generally speaking this does not negatively effect applications that do not
depend on the underlying implementation (although there are exceptions).
And in this case the change in implementation does not violate either the
JMS spec or the URI spec. The real problem is that the application has a
defect in that it is not handling the URI correctly. In the case of the
application in question (which I understand is probably not under your
control) the problem really is not the fact that a change was introduced to
allow one to control whether an RFH2 header is included on reply messages
or not; the problem is that the the underlying implementation of this
change exposed a defect in your application.

I'm not sure how to comment on your last sentence - do we really want no
changes in MQ behavior, even if those changes improve performance,
usability, availability, scalabilty, interoperability, etc, if it is
possible that the improvement delivered by that change in behavior will
expose a defect in an application? I don't know how many improvements could
realistically be made to MQ without changing its underlying implementation.
And I don't know how MQ Development can anticipate every possible defect an
application program might have. If applications intentionally (or
unintentionally, in this case) create a dependency on the underlying
implementation, this type of thing will crop up.

The real solution here is that the application should be fixed so that it
correctly handles URI strings. I know that's easy for me to say - but there
is an important reason for saying it, and that is if this JMS property is
used to in effect put a band-aid on the defective application, rather than
fixing the defect, the next change in MQ JMS that is implemented by setting
an optional parameter in the JMSReplyTo URI string will break the
application again - but next time, there may not be a JMS property
available to disable the change. I realize the application here is probably
not in your control, but you might want to push whoever owns the
application to fix this problem so they do not get stung by something like
this again in the future.

Sorry for the excess verbiage. Hopefully no offense is taken - certainly
none was intended.

Regards,



                                                                       
                                    Christopher Frank - [EMAIL PROTECTED]
                                    IBM Certified Consulting I/T Specialist
                                    WebSphere, Americas TechWorks      
                                    Tel: 612-397-5532  (t/l  653-5532) 
                                    Mobile: 612-669-3008               
                                    Americas TechWorks Web Site        
                                    Technical Sales Support Request Form
                                                                       








                                                                       
             "Meekin, Paul"                                            
             <[EMAIL PROTECTED]                                         
             .COM>                                                      To
             Sent by: MQSeries         MQSERIES@LISTSERV.MEDUNIWIEN.AC.AT
             List                                                       cc
             <[EMAIL PROTECTED]                                         
             V.MEDUNIWIEN.AC.A                                     Subject
             T>                        Re: A different question about WAS
                                       and MQ!                         
                                                                       
             06/21/07 03:31 AM                                         
                                                                       
                                                                       
             Please respond to                                         
               MQSeries List                                           
             <[EMAIL PROTECTED]                                         
             V.MEDUNIWIEN.AC.A                                         
                    T>                                                 
                                                                       
                                                                       




Well, there *is* a change in behaviour, although in our case it has only
served to expose a bug in the application.

Previously, unless the application specifically told it not to (or the
object read via JNDI told it not to), any reply message would contain the
RFH2 headers regardless of the original message. Now, as the manual says,
if the original message doesn't have the headers than the reply message
won't either, by default.

How does it manage to do this you might ask? As we have discovered, when
you get the original message, if it doesn't have the headers, MQ sets the
JMSReplyTo attribute to be the queue name from the ReplyToQueue field of
the MQMD. However, the JMSReplyTo queue name is specified in URI format,
i.e.

   queue://QMgr/QueueName?parms    (where ?parms are optional parameters)

so where with 5.3 the JMSReplyTo queue name was
"queue://MYQMGR/MY.NON.JMS.QUEUE" with V6 it has now become

"queue://MYQMGR/MY.NON.JMS.QUEUE?targClient=1"   to indicate that any
messages put to this queue should not have the RFH2 headers attached.

Unfortunately the application in question determines the queue name by
reading from the 3rd slash to the end of the string rather than just
reading to the end OR a "?" if one exists. So yes, the app doesn't parse
URIs correctly.

Nevertheless, the default behaviour of MQ V6 has changed which doesn't
impress me too much, particularly as they have created an option to allow
you to control this behaviour.

Cheers,
Paul

 -----Original Message-----
From: MQSeries List [mailto:[EMAIL PROTECTED] Behalf Of
Christopher Frank
Sent: 20 June 2007 22:20
To: MQSERIES@LISTSERV.MEDUNIWIEN.AC.AT
Subject: Re: A different question about WAS and MQ!



      Hello,

      I don't believe so. My understanding is that this applies only to JMS
      applications, which I assume your CICS transaction is not.

      But I also don't think the default value of TARGCLIENTMATCHING
      represents a change in behavior, either. From the Using Java manual:
                  "If an incoming message does not have an MQRFH2 header,
                  the Queue or Topic object derived from the JMSReplyTo
                  header field of the message, by default, has this flag
                  set so that a reply message sent to the queue or topic
                  also does not have an MQRFH2 header. You can switch off
                  this behavior of including an MQRFH2 header in a reply
                  message only if the original message has an MQRFH2 header
                  by setting the TARGCLIENTMATCHING property of the
                  connection factory to NO."


      In other words, the previous behavior for JMS applications was to NOT
      add an RFH2 header to a reply message if the coresponding request
      message also did NOT have an RFH2 header. This is the default
      behavior of this new property. So this is not a change in JMS/MQ
      behavior, at least as far as I can see.

      What is new is that, if you WANT to change this behavior (i.e. have
      the reply message contain an RFH2 header even though the JMS request
      message did NOT have an RFH2 header) you can do this by setting this
      property to No.

      At least that's my take on this. Anyone else want to chime in?

      Regards,


                                                                       
                                  Christopher Frank - [EMAIL PROTECTED]
                                  IBM Certified Consulting I/T Specialist
                                  WebSphere, Americas TechWorks        
                                  Tel: 612-397-5532 (t/l 653-5532) Mobile:
                                  612-669-3008                         
                                  Americas TechWorks Web Site          
                                  Technical Sales Support Request Form 
                                                                       





      Inactive hide details for "Coombs, Lawrence" <[EMAIL PROTECTED]>
      "Coombs, Lawrence" <[EMAIL PROTECTED]>

                                                                       
                         "Coombs, Lawrence"                            
                         <[EMAIL PROTECTED]                           
                         M>                                            
                         Sent by: MQSeries                             
                         List                                           To
                         <[EMAIL PROTECTED]                           
                         MEDUNIWIEN.AC.AT>                [EMAIL PROTECTED]
                                                          V.MEDUNIWIEN.AC.
                                                          AT           
                         06/20/07 12:01 PM                             
                                                                        cc
                                                                       
              Please respond to                                        
                MQSeries List                                      Subject
     <MQSERIES@LISTSERV.MEDUNIWIEN.AC.AT>                              
                                                          Re: A different
                                                          question about
                                                          WAS and MQ!  
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       
                                                                       



      I am glad you found this because I will have the same problem when I
      upgrade to WMQ 6. My JMS application sends requests to CICS. The CICS
      transaction then responds and my JMS application reads the response.
      Since the incoming reply message from CICS will NOT have an RFH2
      header,
      the derived queue destination object for the replytoQ would be set to
      MQ. Well, the application that is waiting to process the message is
      JMS.
      Does this mean that my under WMQ 5.3 my application works, yet breaks
      under WMQ 6?

      Is this what happened to you?

      -----Original Message-----
      From: MQSeries List [mailto:[EMAIL PROTECTED] On
      Behalf Of Meekin, Paul
      Sent: Wednesday, June 20, 2007 10:06 AM
      To: MQSERIES@LISTSERV.MEDUNIWIEN.AC.AT
      Subject: A different question about WAS and MQ!

      Hi all,

      I have just discovered that I need to add a new Property to my
      ConnectionFactory object which is defined within a WAS JNDI
      directory.

      The property is TARGCLIENTMATCHING which was introduced in MQ V6 and
      which I need to turn off (the default is ON which changes the
      behaviour
      of MQ).

      Has anyone managed to set this in WAS? Apparently it's not possible
      to
      do from the WAS Admin Console (I'm using 5.1.1). I've tried the
      JMSAdmin
      tool but once I connect to the WAS directory I can't find any of the
      MQ
      objects. I don't know which context to look in.

      Cheers,
      Paul




To unsubscribe, write to [EMAIL PROTECTED] and,
in the message body (not the subject), write: SIGNOFF MQSERIES
Instructions for managing your mailing list subscription are provided in
the Listserv General Users Guide available at http://www.lsoft.com
Archive: http://listserv.meduniwien.ac.at/archives/mqser-l.html

<<inline: 21271719.gif>>

<<inline: graycol.gif>>

<<inline: pic29937.gif>>

<<inline: ecblank.gif>>

Reply via email to