BTM 1.3 beta1

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

BTM 1.3 beta1

Ludovic Orban
Administrator
Hi Everyone,

After more than 3 month of hard work, BTM 1.3's feature set is finally fully implemented.

There are many serious changes in this release, mainly in the recoverer and the 2PC engine. As these two parts are critical to the transaction manager's reliability we've decided to release a beta version this time and ask for the community's help to test it.

The unit test suite is successful as well as the load test suite but nothing is worth some real-world testing so we would be more than happy if as many people as possible could try out this beta version and test it within their own environment.

This version is available here:
 http://snapshots.dist.codehaus.org/btm/

And here are the release notes:

 * BTM-4   Implement incremental recovery
 * BTM-7   Resource password is not decrypted when using the API
 * BTM-8   Durable subscribers cannot participate in XA
 * BTM-9   BitronixTransactionManager JNDI reference throws NPE on toString()
 * BTM-10  Race condition in connection pools when lazily initialized
 * BTM-11  Implement an embedded JNDI provider that allows to retrieve the TM and configured resources in a more standard way
 * BTM-12  add maven support
 * BTM-13  Implement ordering of XAResource during 2PC execution
 * Shutdown hook is not registered anymore when the TM starts up. It is now mandatory to shut it down manually.
 * Dropped all deprecated classes and methods
 * Fixed incorrect transaction manager startup while using pools when BTM is not started
 * Moved CryptoEngine to bitronix.tm.utils, kept bitronix.tm.internal.CryptoEngine but deprecated it

Important
 Incremental recovery required a change in the Disk Journal's log format. Compatibility with older format (1.2 and below) has been maintained but journals created by BTM 1.3 cannot be read by older versions.

Here are some details about the new features:

 - BTM is now shipped with a (limited) JNDI provider to make it available to your application in a more standard way. All details are in the javadoc: http://btm.codehaus.org/api/1.3-beta1/bitronix/tm/jndi/BitronixInitialContextFactory.html
 
 - A maven POM has been contributed by Maxim Gordienko. BTM releases are now available in the central maven repository while test versions will be published in Codehaus's snapshot repository: http://snapshots.repository.codehaus.org/org/codehaus/btm/btm/1.3-beta1/
 
 - Incremental recovery finally made its way in. It is not needed anymore to ensure all resources are created before starting up the transaction manager.
 
 - The order in which resources are prepared/committed by the 2PC engine can now be configured. This is extremely helpful for instance when you want to guarantee that a database update gets committed before a JMS message is sent. This is controlled by the new http://btm.codehaus.org/api/1.3-beta1/bitronix/tm/resource/common/ResourceBean.html#setTwoPcOrderingPosition(int) property.

As usual, please report any bug / question / remark / extra wish you might have here.

Thanks,

The BTM Team
Reply | Threaded
Open this post in threaded view
|

Re: BTM 1.3 beta1

Karl Cassaigne
Hi Ludovic,

WOW what a good surprise ! I will test this version ASAP as it contains some very interesting new features for me (mainly maven support and incremental recovery).

I will let you know if it works great in my environnement.

Thank you very much for putting so much effort in this product !

Best regards,
Karl


Ludovic Orban wrote
...
And here are the release notes:

 * BTM-4   Implement incremental recovery
 * BTM-7   Resource password is not decrypted when using the API
 * BTM-8   Durable subscribers cannot participate in XA
 * BTM-9   BitronixTransactionManager JNDI reference throws NPE on toString()
 * BTM-10  Race condition in connection pools when lazily initialized
 * BTM-11  Implement an embedded JNDI provider that allows to retrieve the TM and configured resources in a more standard way
 * BTM-12  add maven support
 * BTM-13  Implement ordering of XAResource during 2PC execution
 * Shutdown hook is not registered anymore when the TM starts up. It is now mandatory to shut it down manually.
 * Dropped all deprecated classes and methods
 * Fixed incorrect transaction manager startup while using pools when BTM is not started
 * Moved CryptoEngine to bitronix.tm.utils, kept bitronix.tm.internal.CryptoEngine but deprecated it
...
Reply | Threaded
Open this post in threaded view
|

Re: BTM 1.3 beta1

Karl Cassaigne
In reply to this post by Ludovic Orban
Hi again,

I already have two remarks concerning the maven POM :

1) the jms-1.1.jar and jta-1.0.1B.jar are taken from the geronimo project instead of being taken from the Sun javax branch; the benefit is that the actual jar file can be downloaded from the maven repository whereas it is not available from the javax branch due to licensing reason (should be corrected in maven 2.1 via a license validation popup window) I see two reasons not to take them from the geronimo project : you have a dependency on the geronimo project and you bypass Sun licensing issue...

2) the dependency on slf4j-log4j12 and log4j are not marked optional; while maybe 90% of btm's user are likely to use log4j 1.2.x, by doing this you bother the 10% users of log4j 1.3 or jdk logger by having to manually exclude those dependencies and includes the ones that are missing... furthermore, log4j is a direct dependency of slf4j-log4j not one of btm so I think it should not appear in btm's pom.

Find below the POM file I was using for BTM v1.2 :

<?xml version="1.0" encoding="UTF-8"?><project>
  <modelVersion>4.0.0</modelVersion>
  <groupId>bitronix</groupId>
  <artifactId>btm</artifactId>
  <version>1.2</version>
  <description>POM was created from install:install-file</description>
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-api</artifactId>
      <version>1.4.3</version>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
      <version>1.4.3</version>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j13</artifactId>
      <version>1.4.3</version>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-jdk14</artifactId>
      <version>1.4.3</version>
      <scope>runtime</scope>
      <optional>true</optional>
    </dependency>
  </dependencies>
</project>

Regards,
Karl

Ludovic Orban wrote
  - A maven POM has been contributed by Maxim Gordienko. BTM releases are now available in the central maven repository while test versions will be published in Codehaus's snapshot repository: http://snapshots.repository.codehaus.org/org/codehaus/btm/btm/1.3-beta1/
Reply | Threaded
Open this post in threaded view
|

Re: BTM 1.3 beta1

Ludovic Orban
Administrator
Hi Karl,

I'm far from a maven expert, I don't even use it myself. The POM I published has been contributed by someone else (see the bug report for more details: http://jira.codehaus.org/browse/BTM-12). If you think your changes would make it work better, I'll gladly incorporate them in version 1.3.

There are good reasons to use the JMS and JTA jars of the Geronimo project. They can be freely downloaded, are 100% equivalent to the Sun ones and can be redistributed under the apache 2 license. Also, I'm not sure BTM can actually redistribute Sun's JTA JAR because of its license so I prefer to stay on the safe side. There really is no benefit in using Sun's version IMHO.

Ludovic
Reply | Threaded
Open this post in threaded view
|

Re: BTM 1.3 beta1

Zdeněk Vráblík-3
Hi,
there is geronimo jta in maven repozitory.

http://mvnrepository.com/artifact/geronimo-spec/geronimo-spec-jta/1.0.1B-rc4

I have tried to download the jar file from repository, but it has
failed. I am not sure if it is just temporary or the jar file has been
deleted?

Regards,
Zdenek

On Sat, Apr 12, 2008 at 1:46 PM, Ludovic Orban <[hidden email]> wrote:

>
>  Hi Karl,
>
>  I'm far from a maven expert, I don't even use it myself. The POM I published
>  has been contributed by someone else (see the bug report for more details:
>  http://jira.codehaus.org/browse/BTM-12). If you think your changes would
>  make it work better, I'll gladly incorporate them in version 1.3.
>
>  There are good reasons to use the JMS and JTA jars of the Geronimo project.
>  They can be freely downloaded, are 100% equivalent to the Sun ones and can
>  be redistributed under the apache 2 license. Also, I'm not sure BTM can
>  actually redistribute Sun's JTA JAR because of its license so I prefer to
>  stay on the safe side. There really is no benefit in using Sun's version
>  IMHO.
>
>  Ludovic
>  --
>  View this message in context: http://www.nabble.com/BTM-1.3-beta1-tp16516519p16648690.html
>
>
> Sent from the BTM Users mailing list archive at Nabble.com.
>
>
>  ---------------------------------------------------------------------
>  To unsubscribe from this list, please visit:
>
>     http://xircles.codehaus.org/manage_email
>
>
>

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply | Threaded
Open this post in threaded view
|

Re: BTM 1.3 beta1

Ludovic Orban
Administrator
You can find it at multiple locations. I could download the exact version you're speaking about from here:
 http://repo1.maven.org/maven2/geronimo-spec/geronimo-spec-jta/1.0.1B-rc4/

You can also download another version from here:
 http://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-jta_1.0.1B_spec/1.1.1/


Please note that while those JARs are marked with different geronimo versions, they are all fully identical to each other and to the original Sun JAR. The only differences are the license and the Geronimo version which bundles the JAR.

Ludovic