Arquillian Transaction Extension 1.0.0.Final Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0.Final release of the Arquillian Transaction Extension component!

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Transaction Extension
Version 1.0.0.Final view tag
Release date 2013-10-29
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-transaction-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-spi jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-impl-base jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-jta jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-bom pom

Release notes and resolved issues 4

Enhancement
  • ARQ-1529 - Enhance error reporting when user transaction cannot be found
Feature Request
Bug
  • ARQ-1473 - JUnit @Before and @After cause nested transaction

Thanks to the following list of contributors: Bartosz Majsak, Aslak Knutsen

Arquillian Transaction Extension 1.0.0.Alpha3 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0.Alpha3 release of the Arquillian Transaction Extension component!

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Transaction Extension
Version 1.0.0.Alpha3 view tag
Release date 2012-11-16
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-transaction-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-spi jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-impl-base jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-jta jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-bom pom

Release notes and resolved issues 3

Container Transactions and Default mode

Enhancement
  • ARQ-1185 - Transaction extension should also work for in-container tests
  • ARQ-1186 - Default transaction mode should be configurable through arquillian.xml

Thanks to the following list of contributors: Bartosz Majsak, Aslak Knutsen

Arquillian Transaction Extension 1.0.0.Alpha2 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0.Alpha2 release of the Arquillian Transaction Extension component!

JTA implementation

The time has come to extract the JTA transactions support from Arquillian Persistence Extension and move it over to the Transaction Extension. It was in fact quite a natural refactoring step. This opens the possibility of providing a different transaction manager to your (not only) persistence related tests. Many thanks to Jakub Narloch for bringing the Transaction Extension to life as a top level module and helping with this release!

Future releases of the Arquillian Persistence Extension will ship with the JTA extension implementation as a dependency, but the Persistence Extension API will change to the new API from the Transaction Extension. Since the Persistence Extension is using the transaction provider SPI you will be able to change the implementation without a need to adopt your test code to whatever comes in the future.

Usage

Just include this in your dependencies to leverage the JTA implementation within the container of your choice.

pom.xml
<dependency>
  <groupId>org.jboss.arquillian.extension</groupId>
  <artifactId>arquillian-transaction-jta</artifactId>
  <version>1.0.0.Alpha2</version>
</dependency>

New SPI hook

The TransactionEnabler interface has been introduced to the SPI. It gives the option to alternate the strategy for enabling transactions. This is particularly handy for the Persistence Extension where we automatically wrap annotations like @UsingDataSet or @ShouldMatchDataSet in a transaction. For reference you may take a look at the new SPI interface and the related tests.

That’s pretty much it! We look forward to hearing your feedback about this release in the community forums!

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Transaction Extension
Version 1.0.0.Alpha2 view tag
Release date 2012-10-29
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-transaction-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-spi jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-impl-base jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-jta jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-bom pom

Release notes and resolved issues 6

Embedded Container and JTA support

Enhancement
  • ARQ-1137 - Provide a way to alter logic determining if transaction support is required
  • ARQ-1156 - Improve resource handling
Feature Request
  • ARQ-1074 - TransactionProvider should be supported on client side
  • ARQ-1155 - Make JNDI transaction name configurable
Sub-task
  • ARQ-1069 - JTA implementation for Transaction Extension

Thanks to the following list of contributors: Bartosz Majsak, Aslak Knutsen, Jakub Narloch

Arquillian Transaction Extension 1.0.0.Alpha1 Released

Since we wrote this post we didn't laze around. Check our latest announcement.

The Arquillian team is proud to announce the 1.0.0.Alpha1 release of the Arquillian Transaction Extension component!

Motivation

Until this point, the only special transaction support in Arquillian has come from the Arquillian Persistence Extension. But as the extension universe expand, the need for other extensions to interact with transactions expand as well. To avoid you having to deal with the individual extensions transaction support in different ways, different apis, we concluded it was time to make Transactions it’s own top level extension.

Usage

The current API takes a declarative approach to configure the transactional behavior of the Test case. By annotating the TestClass or the TestMethod with @Transactional you control how the transaction should be handled after TestMethod execution.
Should Arquillian COMMIT, ROLLBACK or DISABLE the transaction for this method?

Example:

@RunWith(Arquillian.class)
@Transactional
public class GreeterTestClass {

    public void defaultTest() throws Exception {
        // test code
    }

    @Transactional(TransactionMode.ROLLBACK)
    public void rollbackTest() throws Exception {
        // test code
    }
}

SPI integration

The extension itself does not come with any implementation for a concrete transaction API, the implementations will be provided by separate modules. During execution, the transactional handling is delegated to a TransactionProvider service implementation which is registered within Arquillian. The SPI defines a set of transaction lifecycle events ((Before|After)Transaction(Started|Ended)) and a separate transactional scope (@TransactionScope) which is bound to the executing transaction.

Implementations

Besides the JTA implementation provided by the Arquillian Persistence Extension, the next extensions which will provide support is the Spring Extension. More details to come.

What is Arquillian?

Arquillian is open source software that empowers you to test JVM-based applications more effectively. Created to defend the software galaxy from bugs, Arquillian brings your test to the runtime so you can focus on testing your application's behavior rather than managing the runtime. Using Arquillian, you can develop a comprehensive suite of tests from the convenience of your IDE and run them in any IDE, build tool or continuous integration environment.

Release details

Component Arquillian Transaction Extension
Version 1.0.0.Alpha1 view tag
Release date 2012-08-13
Released by Aslak Knutsen
Compiled against

Published artifacts org.jboss.arquillian.extension

  • org.jboss.arquillian.extension » arquillian-transaction-api jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-spi jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-impl-base jar javadoc pom
  • org.jboss.arquillian.extension » arquillian-transaction-bom pom

Release notes and resolved issues 2

The basic setup for rollback/commit on a TestClass with multiple Manager implementation

Feature Request
  • ARQ-1033 - Extract the transaction support out of Arquillian Persistence Extension

Thanks to the following list of contributors: Aslak Knutsen, Jakub Narloch