I'm very happy to announce the first beta of the IronJacamar 1.1 series ! This is a major milestone for us, since this release adds support for the optional features of the Java EE Connector Architecture 1.6 specification.
Full release notes are here.
This release finishes our work on our lazy connection manager implementation. We covered the
association part in an earlier blog which leaves the
Lazy enlistment allows the resource adapter to control when the ManagedConnection is enlisted in the transaction associated with the invocation. This has the benefit of not having the enlistment overhead if the connection never needs to be enlisted.
So for resource adapters that supports
read-only scenarios you will see a nice performance improvement.
This release features our initial distributed work manager, which allows
javax.resource.spi.work.DistributableWork instances to be reschedule for execution in another work manager instance to which it was submitted.
The distributed work manager is basically a standard work manager with three additional components
Policy decides when a
DistributableWork instance should be executed in another work manager. We currently support
- Never -- never distribute to another work manager
- Always -- always distribute to another work manager
More policies are on their way.
Selector decides which work manager that should receive the
DistributableWork instance. We currently support
- FirstAvailable -- pick the first work manager in the list that is available
- PingTime -- pick the work manager which has the lowest ping time
Future releases will include more selectors.
Transport handles the actual transport of the
DistributableWork instance. We have included support for the following transports
- InVM -- communication between work managers in the same JVM
- Socket -- communication between work managers using standard Java sockets
in this release. We will include support for additional transports in future releases.
We have added a
org.jboss.jca.core.api.workmanager.DistributableContext class which will allow you to define overrides to control the execution.
If you thought to yourself
Did IronJacamar just get support for clustering ? - the answer would be yes !
We now have a plugin for the Eclipse development environment, which provides an Eclipse integration for our code generator such that you don't have to use the command line to generate the project skeleton for your resource adapter.
We will of course integrate our other tools, such as the validator, into the plugin in future releases.
This is the first beta release of IronJacamar 1.1 which means we are getting closer a stable release, but there is still a lot of work that needs to be done. But that is what Beta's are for :) And don't forget your own ideas for the project, keep the feedback coming !
Looking forward to meeting you all at JUDCon !
For Those About to Rock, We Salute You !