Hi,
I'm trying to enlist an Ignite transaction in a different JVM with the
Transaction Manager for Jboss 7 EAP JVM up and running for write-through
cache.
My transaction configuration is shown below which I found from a previous
thread. I know this is configured correctly because I see the lookup trying
to occur on the strings [java:comp/TransactionManager,
java:appserver/TransactionManager, java:pm/TransactionManager,
java:/TransactionManager] in CacheJndiTmFactory. They all fail after
creating the InitialContext and then doing the lookup. On further
investigation I found that the java:/TransactionManager is not exposed
remotely in Jboss. So my question (which I'll probably have to take to the
Jboss people) is: has anyone done this before and if so the steps to do it?
Other appserver instructions for Websphere and Weblogic would also be
helpful. I imagine this should be a common question for those using app
servers alongside Ignite. As well, will my datasources in the remote Ignite
JVM be automatically enlisted in the transaction if they are XA? I imagine
they should be.
Thanks for any help!
</property>
<property name="transactionConfiguration">
<bean
class="org.apache.ignite.configuration.TransactionConfiguration">
<property name="defaultTxIsolation"
value="REPEATABLE_READ" />
<property name="defaultTxConcurrency"
value="PESSIMISTIC" />
<property name="useJtaSynchronization"
value="true" />
<property name="txManagerFactory">
<bean
class="org.apache.ignite.cache.jta.jndi.CacheJndiTmFactory">
<property name="jndiNames">
<util:constant
static-field="org.springframework.transaction.jta.JtaTransactionManager.FALLBACK_TRANSACTION_MANAGER_NAMES"
/>
</property>
</bean>
</property>
</bean>
</property>
*Cache Config is as follows.*
<bean
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name"
value="TablesWriteThrough" />
<property name="cacheStoreFactory">
<bean
class="javax.cache.configuration.FactoryBuilder"
factory-method="factoryOf">
<constructor-arg
value="com.temenos.tafj.cache.impl.IgniteXMLCacheStore"></constructor-arg>
</bean>
</property>
<property name="affinity">
<bean
class="org.apache.ignite.cache.affinity.rendezvous.RendezvousAffinityFunction">
<property
name="excludeNeighbors" value="true" />
<property
name="partitions" value="2048" />
</bean>
</property>
<property name="atomicityMode"
value="TRANSACTIONAL" />
<property name="backups" value="1" />
<property name="rebalanceThrottle"
value="100" />
<property name="rebalanceBatchSize"
value="#{2 * 1024 * 1024}" />
<property name="rebalanceMode"
value="SYNC" />
<property name="cacheMode"
value="PARTITIONED" />
<property name="writeThrough"
value="true" />
<property name="writeBehindEnabled"
value="false" />
<property name="eagerTtl" value="false"
/>
<property
name="writeBehindFlushFrequency" value="#{10 * 1000}" />
<property name="writeBehindBatchSize"
value="100000" />
<property
name="writeBehindFlushThreadCount" value="2" />
<property name="writeBehindFlushSize"
value="100000" />
<property name="statisticsEnabled"
value="true" />
</bean>
--
View this message in context:
http://apache-ignite-users.70518.x6.nabble.com/Transaction-management-with-Jboss-and-Ignite-tp12976.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.