JBoss Community

Re: Transactional MSC

created by David Lloyd in JBoss Transactions Development - View the full discussion

Paul Robinson wrote:

 

All,

 

I've knocked up a quick prototype [1] that uses JBoss Modules to provide classloader isolation. I'm sure we all (especially David) already know what this would look like, but I thought it would be a good idea to create something so that I can make sure I understand it properly and so that we have something tangible to discuss.

 

In the prototype, I've created a new JBossModule called "org.jboss.narayana.arjunacore". This module has its own jbossts-properties.xml (located at /modules/system/layers/base/org/jboss/narayana/arjunacore/main/config/jbossts-properties.xml) for configuring this instance of ArjunaCore. In the property file I have changed the object store location to be in "./dummymsc-object-store"; this allows us to see that two separate configs are actually being used.

 

To show this in action, I created a new subsystem that depends on the "org.jboss.narayana.arjunacore" that: starts the recovery manager, begins a BasicAction, adds a BasicRecord to the transaction and then commits the BasicAction. I used a subsytem to demonstrate this as I wanted something low level that would match closely enough, how Transactional MSC would use transactions.

 

This is just a quick prototype, I've not considered what further configuration of ArjunaCore should be done. Neither have I ensured other services, such as the transaction reaper, are running. I can work on this, if we decide this is the right approach to take (initially).

 

 

[1] https://github.com/paulrobinson/jboss-as/tree/TxMSC_arjuna_module

 

That's more or less what I had in mind.  Though it's likely only MSC itself which will have this dependency - and maybe the new wildfly core management system - which both lie underneath extensions, rather than being extensions themselves.  Those may well be the only things in the system that "see" arjunacore directly in fact, unless we directly expose the arjunacore APIs for coordination purposes.

Reply to this message by going to Community

Start a new discussion in JBoss Transactions Development at Community