ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » MTS & MQSeries ? Weired

Post new topic  Reply to topic
 MTS & MQSeries ? Weired « View previous topic :: View next topic » 
Author Message
chinlean
PostPosted: Sat Mar 16, 2002 7:30 pm    Post subject: Reply with quote

Newbie

Joined: 15 Mar 2002
Posts: 4

I've encapsulate the send method in a MTS component with this :
HRESULT send(BSTR queue,BSTR body)

At the implementation of the method, I just use normal procedure
a) Connect to queue manager
b) open queue
c) write message
d) close queue
e) disconnect queue manager

When I call this component’s method from another MTS component(let say a component doing DB update and then call this method to send out a message to MQSeries)
It’s work fine if I call the method once. But failed when I make the second call. When I debug, I found that in second call, the mqmanager.connect() failed with reason code MQRC_UNEXPECTED_ERROR(2195) .

Here is some info of my environment.
1) MQSeries 5.2 Server CSD02 for Windows 2000
2) I use C++ early binding.

Besides, I encounter a lot of weird thing when integrate MQSeries with MTS for example
1) when mixture usage of transactional and non transactional mode under MTS, MQSeries complaint with MQRC_UNEXPECTED_ERROR(2195).
2) When I ungrade MQSeries server to CSD03. It cause DTC crash…

It’s seems like MQSeries is integrating not very well with MTS or I use the MQSeries wrongly. Also the documentation and code sample is very limited for MQSeries MTS support…Do you know where to find extra information?


[ This Message was edited by: chinlean on 2002-03-19 01:42 ]
Back to top
View user's profile Send private message
chinlean
PostPosted: Tue Mar 19, 2002 2:08 am    Post subject: Reply with quote

Newbie

Joined: 15 Mar 2002
Posts: 4

After i wrote some program to test the MTS behavior of MQSeries including step thru every single step of the code in debug mode , thease are the summary I can make.

1) The transaction begin when you connect to queue manager, NOT when you issue a syncpoint call( put/get). I notice that when I step over ImqqueueManager.connect(), the Transaction List under Component Services begin to appear.

2)You CANNOT disconect a queue manager in a MTS object. If you do, when another MTS object under the SAME transaction issue ImqqueueManager.connect(), it will return MQRC_UNEXPECTED_ERROR(2195) immediately. MQSeries expect you won't disconnect queue manager from within sub objects and can only disconnect from within root object. This already break ACID rule of transactional programing whereas a MTS object should independent with another object or they can operate seperately.

thanks


Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » MTS & MQSeries ? Weired
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.