You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by rick_tem <rv...@temenos.com> on 2017/05/17 15:29:04 UTC

Transaction management with Jboss and Ignite

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.

Re: Transaction management with Jboss and Ignite

Posted by Nikolai Tikhonov <nt...@apache.org>.
Hi,

Can you please share a message which you got on InitialContext and lookup?


On Wed, May 17, 2017 at 6:29 PM, rick_tem <rv...@temenos.com> wrote:

> 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.
>