Scott,

I read this and agree that it sounds like XAResources are required to be 
thread safe however this requirement is not explicitly stated. Note that 
with oracle you can access XAResource instance from as many threads as 
you wish as long as you do "synchronized(xares) { xares.xxxx(); }".

Anyways, to fix 614116 I am planning to change XAOracleManagedConnection 
on HEAD to have "synchronized" for all XAResource calls and will provide 
external XAResource wrapper with similar behaviour for 3.0 and 3.2.

Scott M Stark wrote:
> Its clear that is is allowed by the JTA spec:
> <jta-1_0_1>
> 3.4.3 Thread of Control
> 
> The X/OpenXAinterface specifies that the transaction association related xa calls 
>must
> be invoked from the same thread context. This thread-of-control requirement is not
> Java Transaction API applicable to the object-oriented component-based application
> run-time environment, in which application threads are dispatched dynamically at
> method invocation time.
> Different Java threads may be using the same connection resource to access the
> resource manager if the connection spans multiple method invocation. Depending on
> the implementation of the application server, different Java threads may be involved
> with the same XAResource object. The resource context and the transaction context
> may be operated independent of thread context. This means, for example, that it's
> possible for different threads to be invoking the XAResource.start and
> XAResource.end methods.
> 
> If the application server allows multiple threads to use a single XAResource object 
>and
> the associated connection to the resource manager, it is the responsibility of the
> application server to ensure that there is only one transaction context associated 
>with
> the resource at any point of time.
> 
> Thus the XAResource interface specified in this document requires that the resource
> managers be able to support the two-phase commit protocol from any thread context.
> </jta-1_0_1>
> 
> xxxxxxxxxxxxxxxxxxxxxxxx
> Scott Stark
> Chief Technology Officer
> JBoss Group, LLC
> xxxxxxxxxxxxxxxxxxxxxxxx
> 
> ----- Original Message ----- 
> From: "Igor Fedorenko" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Saturday, September 28, 2002 6:46 AM
> Subject: [JBoss-dev] Is XAResource thread-safe?
> 
> 
> 
>>Hi,
>>
>>As the subject says -- is XAResource thread-safe or we need to serialize 
>>access to it when accessing the same XAResource instance from multiple 
>>threads?
>>
>>I could not find explicit answer to that question in the docs, but did 
>>find that oracle xa implementation is *not* thread safe and SF #614116 
>>is cause by simultaneous calls to xares.end or xares.start and 
>>xares.rollback from two different threads.
>>
>>-- 
>>Igor Fedorenko
>>Think smart. Think automated. Think Dynamics.
>>www.thinkdynamics.com
> 
> 
> 
> 
> -------------------------------------------------------
> This sf.net email is sponsored by:ThinkGeek
> Welcome to geek heaven.
> http://thinkgeek.com/sf
> _______________________________________________
> Jboss-development mailing list
> [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development

-- 
Igor Fedorenko
Think smart. Think automated. Think Dynamics.
www.thinkdynamics.com



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to