.NET MQ Classes, XA and Syncpoint - Websphere
This is a discussion on .NET MQ Classes, XA and Syncpoint - Websphere ; I can't find a documented answer to my question, or at least they are
conflicting. In the online help, it's mentioned that for XA support and
COM+/MTS, you must use syncpoint with Put/Get options.
HOWEVER, in the Redbook "WebSphere MQ ...
-
.NET MQ Classes, XA and Syncpoint
I can't find a documented answer to my question, or at least they are
conflicting. In the online help, it's mentioned that for XA support and
COM+/MTS, you must use syncpoint with Put/Get options.
HOWEVER, in the Redbook "WebSphere MQ Solutions in a .NET Environment" pg
298 it states:
"Unlike previous implementation, in declarative model of transaction
management we do not use any explicit transaction instructions in the our
code. The following code example shows series of operation executed in a
transactional context."
That statement and code examples OMIT syncpoint. But in my own testing I
can't get XA to work properly if I omit syncpoint. We have an existing
application using MQ 5.3 in which we use DTC/XA and specify syncpoint and
everything works fine. In this new application, I tried the "advice" in the
Redbook, but am finding that it may not be true?
Can someone at IBM confirm this because to me, unless I specify syncpoint in
my Gets/Puts, XA is NOT working.
Thanks...
Leigh
-
Re: .NET MQ Classes, XA and Syncpoint
Anyone?? Hmmm.... this is encouraging... ;-)
"Leigh Kendall"
wrote in message news:e2irul$2h05e$1@news.boulder.ibm.com...
>I can't find a documented answer to my question, or at least they are
>conflicting. In the online help, it's mentioned that for XA support and
>COM+/MTS, you must use syncpoint with Put/Get options.
>
> HOWEVER, in the Redbook "WebSphere MQ Solutions in a .NET Environment" pg
> 298 it states:
> "Unlike previous implementation, in declarative model of transaction
> management we do not use any explicit transaction instructions in the our
> code. The following code example shows series of operation executed in a
> transactional context."
>
> That statement and code examples OMIT syncpoint. But in my own testing I
> can't get XA to work properly if I omit syncpoint. We have an existing
> application using MQ 5.3 in which we use DTC/XA and specify syncpoint and
> everything works fine. In this new application, I tried the "advice" in
> the Redbook, but am finding that it may not be true?
>
> Can someone at IBM confirm this because to me, unless I specify syncpoint
> in my Gets/Puts, XA is NOT working.
>
> Thanks...
>
> Leigh
>
>
>
-
Re: .NET MQ Classes, XA and Syncpoint
Leigh Kendall wrote:
> Can someone at IBM confirm this because to me, unless I specify
> syncpoint in my Gets/Puts, XA is NOT working.
Yes.
You must use syncpoint to get transactional support in MQ. The comment
"we do not use any explicit transaction instructions" in the redbook is
because you do not use MQCMIT() or MQBACK() in a COM+ transaction
environment -- they only apply when WebSphere MQ is the Transaction
Manager; not when it is a Resource Manager in another TMs transaction.
The line to add syncpoint to the mqGetMsgOpts must be in the ... bit of
GetMQMsg(), I assume it was removed for brevity.
Regards,
Phil Willoughby
--
Software Engineer (Development)
IBM Message Service Clients for C/C++
-
Re: .NET MQ Classes, XA and Syncpoint
Thanks for confirming Phil!
It is a bit confusing in the Redbook; they don't show setting syncpoint on
get or puts anywhere in the examples. If I hadn't read the online MQ help
and admin guide that explicity mention/discuss the use of syncpoint with
COM+/MTS, I would taken the Redbook as word and been pretty stumped!
Perhaps you can pass this omission up to the Redbook authors...
Thanks again!
Leigh
"Phil Willoughby" wrote in message
news:e2qlcc$qc3e$1@news.boulder.ibm.com...
> Leigh Kendall wrote:
>> Can someone at IBM confirm this because to me, unless I specify
>> syncpoint in my Gets/Puts, XA is NOT working.
>
> Yes.
>
> You must use syncpoint to get transactional support in MQ. The comment
> "we do not use any explicit transaction instructions" in the redbook is
> because you do not use MQCMIT() or MQBACK() in a COM+ transaction
> environment -- they only apply when WebSphere MQ is the Transaction
> Manager; not when it is a Resource Manager in another TMs transaction.
>
> The line to add syncpoint to the mqGetMsgOpts must be in the ... bit of
> GetMQMsg(), I assume it was removed for brevity.
>
> Regards,
>
> Phil Willoughby
> --
> Software Engineer (Development)
> IBM Message Service Clients for C/C++