Our new business model

July 25th, 2012

Today we’ve updated our website to reflect our new business model: we now only offer services and training to subscribers of ExtremeTransactions only…

Why did we do this? There are a few reasons, but here are the most important ones:

  • We’ve had too many discussions with customers that wanted application certification and needed the latest bug fixes - but did not want subscribe to get them. The fact that they bought developer access (support) made them feel disappointed when they couldn’t get bug fixes (which requires a full subscription as per our policies). This was unfair to them as well as towards our full subscribers/customers for ExtremeTransactions.
  • We’ve had to produce too many custom quotes for people who were not serious about buying our services in the first place - which kept us from our core business: improving our product with great features to the benefit of both our community and our customers. Our new model makes a lot of custom quotes unnecessary and irrelevant because everything should now be apparent from merely by visiting our web shop (let us know if not).

In summary, we think this makes managing expectations a lot easier and clearer on everybody’s account. If you think this is unfair then take a quick look at what the competition in open source is doing - you’ll see that we’re not being unreasonable here. You might also want to check with the “commercial enterprise software” competition to see that their maintenance prices alone are an order of magnitude higher than our subscription cost - not even counting their license fees :-)

Release 3.8 is now available

May 31st, 2012

We have released 3.8 of Atomikos ExtremeTransactions and TransactionsEssentials software. This release includes a number of new features including:

  • redesigned logging for compatibility with your favorite logging framework
  • performance improvements
  • OSGi class export improvements
  • an OSGi example application

You can download the release from our website.

Important question to the community

March 22nd, 2012

Your input is needed for our release planning:



Online certification training now available

March 12th, 2012

We’ve finally managed to publish our online training via Parleys - feel free to check it out!

From now on, everybody world-wide can purchase our training sessions and follow at them at a self-paced rhythm. Training when you want it, at your fingertips!

Release 3.7.1 available

March 2nd, 2012

We’ve just released the 3.7.1 (bug fix) releases for ExtremeTransactions and TransactionsEssentials - enjoy!

Atomikos scalability

February 9th, 2012

We’ve know it for a while, but this independent blog post confirms the facts: linear scalability.

Email reception problems

February 9th, 2012

Due to a server migration you may experiencing problems with support emails. We are working to resolve the problem.

In the meantime, thanks for your understanding and patience.

DataNucleus integrates Atomikos

January 2nd, 2012

Check out this news post to learn more about DataNucleus and the details of this news item…

Happy 2012!

January 2nd, 2012

Best wishes for the new year to all of you, from all of us!


Inquiry: redesign of init property lookup

December 22nd, 2011

We are asking for community input on the following: over time, our initialization mechanism (property file, system properties, properties supplied programmatically) has been polluted a bit and as a result the lookups are not always intuitive. We would like to improve this and are working on a new design proposed here. Let us know what you think!

Proposed new property lookup procedure when Atomikos starts:

1. default properties are looked up via a property file in the Atomikos jars (should always be found)
2. override with specific custom properties looked up in the jta.properties file in the classpath (like now)
3. if no jta.properties found: NO logging to System.err any more (so no need to disable that with system props either)
4. override with specific properties that are set programmatically on the UserTransactionService
5. resolve any placeholder properties (i.e., ant-style expansion of references to other props)
6. this yields the final properties to use for the init procedure

What do you think? Did we miss something important?