openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Craig L Russell <Craig.Russ...@Sun.COM>
Subject Re: JTA 1.1 has been published
Date Sun, 29 Oct 2006 14:47:22 GMT
I've condensed this email thread into an FAQ. Please review.

Q. What is the difference between JTA 1.0.1 and JTA 1.1?

A. There is a new interface, TransactionSynchronizationRegistry, that  
allows an application or a component to get some help from the  
container with synchronizing its state with the transaction context  
of its environment.

This interface is intended for use by system level application server  
components such as persistence managers. This provides the ability to  
register synchronization objects with special ordering semantics,  
associate resource objects with the current transaction, get the  
transaction context of the current transaction, get current  
transaction status, and mark the current transaction for rollback.

This interface is implemented by the application server by a  
stateless service object. The same object can be used by any number  
of components with thread safety.

Q. Can other components use this interface?

The interface can be used by any component. There are no restrictions.

Q. In which environments can I use the new interface?

A. The interface is defined to be available at a specific JNDI  
location java:comp/TransactionSynchronizationRegistry from within an  
application server that conforms to the Java EE 5 specification.

Q. What is the rationale for providing this interface?

A. All application servers provide a means for giving certain  
components access to transaction context but these means are  
proprietary and offer different functionality.

Q. How can I get access to the JTA 1.1 jar that contains the new  
interface?

A. The jar is available for download from https://maven- 
repository.dev.java.net/nonav/repository/javax.transaction/jars/ 
transaction-api-1.1.jar or if using maven, you can add the repository  
https://maven-repository.dev.java.net/nonav/repository and declare a  
dependency in the project file:
          <dependency>
             <groupId>javax.transaction</groupId>
             <artifactId>transaction-api</artifactId>
             <version>1.1</version>
          </dependency>

Q. What version of JDK was the jar compiled with?

A. JDK 1.3 was used for the compilation of the jar.

Q. Is the jar from java.net more "official" than other versions of  
the jar?

A. This implementation of the collection of interfaces is part of the  
Reference Implementation of Java EE 5. But the Java EE 5  
specification does not mandate any particular packaging of the  
interfaces into jars. In particular, there is no specification of the  
existence of a JTA 1.1 jar, nor the contents of this jar or packaging  
it as a maven repository.

Q. Could there be a "better" or more functional version of the JTA  
1.1 jars or interfaces?

A. Not really. These interfaces are part of the official Java EE 5  
specification, and the interfaces cannot be subsetted or supersetted.  
All versions of the interfaces must work exactly the same, as  
demonstrated by passing the Java EE 5 CTS.

Q. Is there an open source version of the jar available?

A. Not yet. Since this is a specification jar, only a Java EE 5  
compliant application server can publish a production-ready version  
of the jar. There are not yet any open source Java EE 5 compliant  
application servers.

Craig Russell
clr@apache.org http://db.apache.org/jdo


Mime
View raw message