|   | 
	 
  
    | 
RSS Feed - WebSphere MQ Support
 | 
RSS Feed - Message Broker Support
 |   
 
  
	     | 
	 | 
   
 
  
	|  2-phase commit - MQSeries v5.2 and Oracle for Sun Solaris | 
	« View previous topic :: View next topic »  | 
   
  
  	
	  
		
		
		  | Author | 
		  Message
		 |  
		
		  | Roberto Mascarenhas | 
		  
		    
			  
				 Posted: Mon Jan 06, 2003 8:00 am    Post subject: 2-phase commit - MQSeries v5.2 and Oracle for Sun Solaris | 
				     | 
			   
			 
		   | 
		 
		
		   Newbie
 
 Joined: 18 Jul 2002 Posts: 1
  
  | 
		  
		    
			  
				Hi,
 
 
Does anyone have experience using MQSeries Java Classes for Sun Solaris (MA88 v5.2.2) supporting XA-JTA (2-phase commit) and Java multithreaded applications ?
 
We are finding some errors and expect to know if somebody has this
 
environment working sucessfully.
 
We had done the same tests in Windows environment and all tests were
 
OK. And we also used the MQSeries C classes in Solaris
 
environment and it also worked fine. But we were not able to run it
 
successful using MQ Java classes on Solaris.
 
 
 
The hardware is  Sun Microsystems  sun4u Sun Enterprise 450 (4 X
 
UltraSPARC-II 480MHz)  System clock frequency: 96 MHz   Memory size:
 
4096 Megabytes
 
 
The software installed are :
 
MQSeries v5.2 ( plus CSD05 )
 
MA88 v5.2.2
 
JVM (build 1.3.1_01)
 
Oracle Database 8.1.7 (client)
 
Tuxedo
 
 
The Oracle Server is running on other machine ( Linux server ).
 
 
On this Solaris Server, we want to use the MQSeries as a transaction
 
coordinator. We had done a lot of tests with a simple Java program and 
 
it works fine when it is only a single thread. But the same program
 
doesn't work when configured for multithread.
 
 
The program does :
 
open a conection to MQ (Binding)                                  
 
      get a connection to DB getJDBCConnection                          
 
      while(true) {                                                     
 
         open a QUEUE                                                   
 
         begin                                                          
 
         GET a msg with SYNCPOINT                                       
 
         close a QUEUE                                                  
 
         insert to DB                                                   
 
         commit                                                         
 
         }                                                              
 
      close the JDBCConnection                                          
 
      disconnect                
 
 
The Java thread is :
 
 
try {
 
//creates an instance of the MQQueueManager class, using BINDING
 
communication:
 
MQQueueManager mag = new MQQueueManager(nome);
 
//connects to BD
 
Connection con = mag.getJDBCConnection();
 
mag.begin();
 
// get the message
 
//call a Stored Procedure
 
mag.commit();
 
} catch(Exception e) {mag.backout();}
 
 
 
When it runs 2 or more threads, the following errors appear (AMQ6119 /
 
AMQ7605 / AMQ6209 / AMQ6118 / AMQ
 
 
AMQ6119: An internal MQSeries error has occurred ('13 - Permission
 
denied'
 
from
 
open.)
 
 
EXPLANATION:
 
MQSeries detected an unexpected error when calling the operating system.
 
The
 
MQSeries error recording routine has been called.
 
ACTION:
 
Use the standard facilities supplied with your system to record the
 
problem
 
identifier, and to save the generated output files. Contact your IBM
 
support
 
center.  Do not discard these files until the problem has been resolved.
 
________________________________________
 
AMQ7605: The XA resource manager smstar has returned an unexpected
 
return
 
code
 
-3, when called for xa_start.
 
 
EXPLANATION:
 
MQSeries received an unexpected return code when calling XA resource
 
manager
 
smstar at its xa_start entry point.  This indicates an internal error,
 
either
 
within MQSeries or the resource manager.
 
ACTION:
 
Try to determine the source of the error.  A trace of the failure could
 
be
 
used
 
to look at the XA flows between MQSeries and the resource manager.
 
MQSeries
 
has allocated an RMId of 1 to this resource manager.  This will be
 
useful
 
when
 
isolating the flows associated with the resource manager concerned. If
 
the
 
error occurs on an xa_commit or xa_rollback request, the queue manager
 
will
 
not
 
attempt to redeliver the commit or rollback instruction for this
 
transaction,
 
until after the queue manager has been restarted. The transaction
 
indoubt
 
is
 
identified by the following XID of
 
X'004D514D0000000E000000043D41FD9700D44402514D5F534D5300000001'. If you
 
think
 
that the error lies within the queue manager, contact your IBM support
 
center.
 
Do not discard any information describing the problem until after the
 
problem
 
has been resolved.
 
____________________________________________
 
 
AMQ6209: An unexpected asynchronous signal (15) has been received and
 
ignored.
 
 
EXPLANATION:
 
Process 8794 received an unexpected asynchronous signal and ignored it.
 
This
 
has not caused an error but the source of the signal should be
 
determined
 
as it
 
is likely that the signal has been generated externally to MQSeries. Use
 
the
 
UNIX system command kill with option -l to determine the symbolic name
 
for
 
signal 15.
 
ACTION:
 
Determine the source of the signal and prevent it from re-occurring.
 
________________________________________________
 
 
AMQ6118: An internal MQSeries error has occurred (20806105)
 
 
EXPLANATION:
 
An error has been detected, and the MQSeries error recording routine has
 
been
 
called.
 
ACTION:
 
Use the standard facilities supplied with your system to record the
 
problem
 
identifier, and to save the generated output files. Contact your IBM
 
support
 
center.  Do not discard these files until the problem has been resolved.
 
_____________________________________________________
 
 
AMQ7605: The XA resource manager smstar has returned an unexpected
 
return
 
code
 
-7, when called for xa_close.
 
 
EXPLANATION:
 
MQSeries received an unexpected return code when calling XA resource
 
manager
 
smstar at its xa_close entry point.  This indicates an internal error,
 
either
 
within MQSeries or the resource manager.
 
ACTION:
 
Try to determine the source of the error.  A trace of the failure could
 
be
 
used
 
to look at the XA flows between MQSeries and the resource manager.
 
MQSeries
 
has allocated an RMId of 1 to this resource manager.  This will be
 
useful
 
when
 
isolating the flows associated with the resource manager concerned. If
 
the
 
error occurs on an xa_commit or xa_rollback request, the queue manager
 
will
 
not
 
attempt to redeliver the commit or rollback instruction for this
 
transaction,
 
until after the queue manager has been restarted. The transaction
 
indoubt
 
is
 
identified by the following XID of X''. If you think that the error lies
 
within
 
the queue manager, contact your IBM support center.  Do not discard any
 
information describing the problem until after the problem has been
 
resolved.
 
 
 
 
And more errors like AMQ7624 / xa_start / XA resource manager
 
'smstar'       
 
 
I appreciate any help.
 
Thanks
 
 
Roberto | 
			   
			 
		   | 
		 
		
		  | Back to top | 
		  
		  	
		   | 
		 
		
		    | 
		 
		
		  | 
		    
		   | 
		 
	   
	 | 
   
 
  
	     | 
	 | 
	Page 1 of 1 | 
   
 
 
 
  
  	
	  
		
		  
 
  | 
		  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
  | 
  		 
	   
	 | 
   
 
  	 | 
	  |