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 » Multiphase Commit » Backout is Not Working in 2PC

Post new topic  Reply to topic Goto page Previous  1, 2
 Backout is Not Working in 2PC « View previous topic :: View next topic » 
Author Message
yalmasri
PostPosted: Wed Aug 01, 2012 5:21 am    Post subject: Reply with quote

Centurion

Joined: 18 Jun 2008
Posts: 110

mqjeff wrote:
The correct Java switch file that you have built ALSO requires that you CHANGE the ThreadOfControl parameter to "PROCESS". You apparently still have it set to "Thread".

My belief is that if you change that to Process instead of Thread, then it will start working and not throw errors.


But this document says otherwise:

http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.amqzag.doc%2Ffa10120_.htm

Don't tell me that threads only work in C/C++ and not Java
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed Aug 01, 2012 5:27 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

yalmasri wrote:
Don't tell me that threads only work in C/C++ and not Java

I'm not saying that.

I'm saying that the documentation that is specific to what you are doing specifically says that you need to set ThreadOfControl=Process.

The general purpose documentation that is not specific to what you are doing says something different.

And I assume you meant http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/topic/com.ibm.mq.amqzag.doc/fa13650_.htm ?
Back to top
View user's profile Send private message
yalmasri
PostPosted: Wed Aug 01, 2012 5:36 am    Post subject: Reply with quote

Centurion

Joined: 18 Jun 2008
Posts: 110

You seem confident. OK, what the hell, it's a little change. I'll try it and see.
Back to top
View user's profile Send private message
yalmasri
PostPosted: Sat Aug 04, 2012 12:35 am    Post subject: Reply with quote

Centurion

Joined: 18 Jun 2008
Posts: 110

XAResourceManager stanza in qm.ini is changed now to look like this:

XAResourceManager:
Name=OracleRM
SwitchFile=jdbcora
XAOpenString=Oracle_XA+Acc=P/foo/bar+SesTm=30+SqlNet=TEST+DB=testdb
ThreadOfControl=PROCESS

Restarted queue manager, tested, and it's the same as before. This is all I got about the problem:

08/04/12 10:39:20 - Process(21068.1) User(mqm) Program(amqzxma0_nd)
Host(leopard)
AMQ7604: The XA resource manager 'OracleRM' was not available when called
for xa_open. The queue manager is continuing without this resource manager.

EXPLANATION:
The XA resource manager 'OracleRM' has indicated that it is not available,
by returning XAER_RMERR on an xa_open request or XAER_RMFAIL when called for
something else. Normally this indicates that the resource manager has been shut
down. In this case the resource manager cannot participate in any new
transactions. Any in-flight transactions in which it was involved will be
backed out, and any transactions in which it is in-doubt will only be resolved
when contact with the resource manager is re-established. A further message
will be issued when the queue manager has been able to do this. If the problem
occurred on an xa_open request, and the resource manager should be available,
then there may be a configuration problem.
ACTION:
Try to establish the reason why the resource manager is unavailable. It may be
that an invalid XAOpenString has been defined for the resource manager in the
'qm.ini' configuration file. If this is the case, stop and then restart the
queue manager so that any change will be picked up. Alternatively, the queue
manager may be reaching a resource constraint with this resource manager. For
example, the resource manager may not be able to accommodate all of the queue
manager processes being connected at one time, you may need to alter one of its
tuning parameters.
Back to top
View user's profile Send private message
yalmasri
PostPosted: Sat Aug 04, 2012 2:03 am    Post subject: Reply with quote

Centurion

Joined: 18 Jun 2008
Posts: 110

I tested connectivity with database using this
Code:
-bash-3.00$ tnsping TEST

TNS Ping Utility for Solaris: Version 10.2.0.4.0 - Production on 04-AUG-2012 12:51:41

Copyright (c) 1997,  2007, Oracle.  All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
 )SID = testsid)ated))
OK (20 msec)
-bash-3.00$

This excludes the first reason in the above error message, now for the second (which is the XAOpenString), there's something that perplexes me. The documentation (http://docs.oracle.com/cd/B28359_01/appdev.111/b28424/adfns_xa.htm#autoId11) mentions that required fields are only Acc and SesTm, if so, how then WMQ recognizes the database location? This information is provided through SqlNet, which is optional.

Also what if I have more than one XAResourceManager in my qm.ini connecting to two different databases, how WMQ knows which should be used upon any given call?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » Multiphase Commit » Backout is Not Working in 2PC
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.