Difference between local and global transaction ?
Answer Posted / prakash sah
Here is the defination and example in case of spring:
Local Vs Global Transaction:
Local transactions are transactions associated with a
particalar data source (means they are resource-specific).
the most common example would be a transaction associated
with a JDBC connection. While Global Transactions provide
the ability to work with multiple transactional resources
(typically relational databases and message queues).
Example of Local transaction :
<bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="txManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource"/>
</bean>
DataSourceTransactionManager : takes the datasource as one
of its properties.
even HibarnateTransactionManager takes sessionfactory which
in turn uses datasource as a property or it also takes
datasource as one of the property.
Example of Global transaction :
If we use JTA in a J2EE container, as in the
'dataAccessContext-jta.xml' file from the same sample
application, we use a container DataSource, obtained via
JNDI, in conjunction with Spring's
JtaTransactionManager. The JtaTransactionManager doesn't
need to know about the DataSource, or any
other specific resources, as it will use the container's
global transaction management infrastructure.
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-2.5.xsd">
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/jpetstore"/>
<bean id="txManager"
class="org.springframework.transaction.jta.JtaTransactionManager"
/>
<!-- other <bean/> definitions here -->
</beans>
| Is This Answer Correct ? | 10 Yes | 3 No |
Post New Answer View All Answers
Is it possible to use Semaphore/ Mutex in an Interrupt Handler?
Explain why wait(), notify() and notifyall() methods are in object class rather than in the reading class?
Is array a class in java?
Can we sort a map in java?
Why declare Main() inside the class in java ?
What is meant by 'bit masking' in java?
What is double in java?
What is the map interface in java programming?
What is the lifetime and scope of a variable?
Write a java program to check if a number is prime or not?
What are memory tables?
Can you extend singleton class?
Outline the major features of java.
Why is an interface be able to extend more than one interface but a class can’t extend more than one class?
What is canonical name in java?