1 Reply Latest reply: Jun 21, 2012 7:03 AM by Martin Gencur RSS

Infinispan + Jboss 7 transactions

Alessandro Montanari Newbie

Hi everyone,

I'm using Infinispan inside Jboss AS 7.1.1.Final as Hibernate 2LC and I'm wondering about the meaning of the <transaction> configuration, in particular about the mode attribute, beacuse I read from the doc (https://docs.jboss.org/author/display/ISPN51/Infinispan+transactions) that it should only be TRANSACTIONAL or NON_TRANSACTIONAL but in the schema (jboss-as-infinispan_1_2.xsd) the possible values are NONE, NON_XA, NON_DURABLE_XA and FULL_XA.

 

Which is the difference between those values?

Why in the default configuration for 2LC (see below), the entity cache is NON_XA and the others (timestamps and query) are NONE? Is it not better (and safe) to enable transactions for every cache?

 

As note: I'm working in a cluster environment.

Thanks!

 

<cache-container name="hibernate" default-cache="local-query">

                <transport lock-timeout="60000"/>

                <local-cache name="local-query">

                    <transaction mode="NONE"/>

                    <eviction strategy="LRU" max-entries="10000"/>

                    <expiration max-idle="100000"/>

                </local-cache>

                <invalidation-cache name="entity" mode="SYNC">

                    <transaction mode="NON_XA"/>

                    <eviction strategy="LRU" max-entries="10000"/>

                    <expiration max-idle="100000"/>

                </invalidation-cache>

                <replicated-cache name="timestamps" mode="ASYNC">

                    <transaction mode="NONE"/>

                    <eviction strategy="NONE"/>

                </replicated-cache>

            </cache-container>

  • 1. Re: Infinispan + Jboss 7 transactions
    Martin Gencur Novice

    Hi Alessandro,

    the configuration of Infinispan in AS7 is a little bit different than for standalone Infinispan. That's why not all configuration elements map to their Infinispan equivalents.

    For configuring transactions and the mode, you have the following options:

     

    NONE - no transactions are used in any sense

    NON_XA - it maps to the following settings in Infinispan: transaction.useSynchronization == true, transaction.recovery.enabled == false

    NON_DURABLE_XA - transaction.useSynchronization == false, transaction.recovery.enabled == false, transaction.syncCommitPhase == true, transaction.syncRollbackPhase == true

    FULL_XA - transaction.syncCommitPhase == true, transaction.syncRollbackPhase == true, transaction.useSynchronization == false, transaction.recovery.enabled == true

     

    I hope I did not make any mistake