You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Andreas Hartmann <an...@apache.org> on 2006/11/17 11:01:44 UTC

Transactions with Bea WebLogic

Hi Jackrabbit community,

can Jackrabit be used to implement the following scenario?

  - Bea WebLogic as application server
  - Cluster, each instance has read+write access to the repository
  - Transactions must be supported


I'm not quite sure how to understand the transaction support.
The persistence manager overview states that some of the
persistence managers are transactional. Can I just choose one
of them, or are there differences re. the transactional behaviour?
Do I understand it correctly that the PM has to be JDBC-based to
ensure atomic storage of changes?

OTOH, do I still need transaction support facilities of the
application server?

Which deployment model would be appropriate?
Does the model 3 apply to clusters, or would the repository
clustering be implemented in the back-end (DB cluster)?
Would it be possible to scale the repository back-end and the
application layer independently from each other?

Thank you very much in advance!

-- Andreas


Re: Transactions with Bea WebLogic

Posted by Dominique Pfister <do...@gmail.com>.
Hi Andreas,

On 11/17/06, Andreas Hartmann <an...@apache.org> wrote:
> Hi Jackrabbit community,
>
> can Jackrabit be used to implement the following scenario?
>
>   - Bea WebLogic as application server
>   - Cluster, each instance has read+write access to the repository
>   - Transactions must be supported

Yes, Jackrabbit contains a JCA contribution that also features
deployment descriptors for BEA WebLogic. Recently, clustering support
has been added to jackrabbit, though it might not yet be feature
complete.

> I'm not quite sure how to understand the transaction support.
> The persistence manager overview states that some of the
> persistence managers are transactional. Can I just choose one
> of them, or are there differences re. the transactional behavior?

Transactions inside Jackrabbit are handled by buffering changes to an
internal change log. When a transaction is committed, all these
changes are atomically written to the underlying PM.

> Do I understand it correctly that the PM has to be JDBC-based to
> ensure atomic storage of changes?

Yes, the file-system based PMs do not write change logs atomically.

> OTOH, do I still need transaction support facilities of the
> application server?

If you only need local transactions, you might control transactions
inside Jackrabbit manually by calling the individual XAResource
methods exposed by Jackrabbit's XASession.

> Which deployment model would be appropriate?
> Does the model 3 apply to clusters, or would the repository
> clustering be implemented in the back-end (DB cluster)?

Clustering inside Jackrabbit requires a shared back-end, e.g. a DB
running standalone. Yet, there is still some information that every
node in the cluster stores locally, e.g. the search index, map of
locked nodes, etc.

> Would it be possible to scale the repository back-end and the
> application layer independently from each other?

Sorry, could you clarify this?

Cheers
Dominique