> -----Original Message-----
> From: Adrian Brock
> Sent: Monday, September 20, 2004 6:33 AM
> To: Dimitris Andreadis
> Cc: Ivelin Ivanov; Scott M Stark; Sacha Labourey
> Subject: RE: XMBean
>
> I'm ok with discussing it, but if you expect ACID behaviour
> you need to make each JBoss Server into an XAResource and do
> two phase commit on the deployment operations.
>
> On Wed, 2004-09-15 at 11:11, Dimitris Andreadis wrote:
> > This is a very long discussion, for reasons like what you consider
> > part of a transaction, which tx semantics you want to have
> (rollback
> > or recover as well) and how the Mbeans model the underlying
> resources.
> > In general, you can't have "real" ACID transactions,
> because there is
> > usually no way to achieve Isolation, but you can get close to that.
> >
> > When it comes to the telco service
> provisioning/configuration area (or
> > infact any BPM scenario), I've solved this problem before using a
> > single JCA adapter holding tx state and undelying Mbeans that
> > understand particular technologies (e.g. setting routes on
> switch X,
> > providing webspace for a user, ...). The mbeans had to implement a
> > particular contract, so as to participate in the tx and provide
> > metadata for the creation of productivety tools on top.
> >
> > This is particularly important if you design workflows
> (OakGroave? :)
> > where integrating with external tx-capable resources
> relieves you from
> > the burden of "coding" rollback scenarios in your flows,
> which can be
> > a hell.
> >
> > So you could design in your flow (or simply call from your
> EJBs if you
> > hand-code):
> >
> > Begin
> > do-something-on-external-resource-A
> > do-something-on-external-resource-B
> > do-something-on-external-resource-C
> > sendJMSMessage
> > updateDB
> > do-something-on-external-resource-D
> > Commit or Rollback
> >