Paul Robinson [
https://community.jboss.org/people/paul.robinson] created the discussion
"Re: Transactional MSC"
To view the discussion, visit:
https://community.jboss.org/message/830229#830229
--------------------------------------------------------------
David,
David Lloyd wrote:
> 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
(
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.
Yes, I was assuming
that this would lie underneath extensions. I just needed some place to do the prototype
and I felt that deploying an application would be too high up the stack.
Do you agree that this approach is adequate for you to develop a solution for
Transactional MSC? Also, does it look like it would be adequate for how you are planning
on implementing the "embeded use of the server infrastructure" feature? If so, I
think we can defer the discussion around removing global state, until we are further down
the implementation path of Transactional MSC.
If so, I think the next steps are for me to update my prototype to create a minimal
configuration of ArjunaCore that meets your requirements, as documented on this page so
far. For example, disabling stats, disabling the recovery manager's network port,
etc.
Should we also document, in more detail, your plan on how you intend to use ArjunaCore?
This would probably make it easier for us to provide feedback and to also make sure
Narayana is providing everything you need.
--------------------------------------------------------------
Reply to this message by going to Community
[
https://community.jboss.org/message/830229#830229]
Start a new discussion in JBoss Transactions Development at Community
[
https://community.jboss.org/choose-container!input.jspa?contentType=1&...]