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
Enlist few advantages of inheritance?
Is integer immutable in java?
What is the use of a conditional inclusion statement in Java ?
Define how can we find the actual size of an object on the heap?
Explain the pointers in Java?
Define interface in java?
What is an object in java and how is it created?
What is the function of static in java?
How many java versions are there?
What is a values collection view ?
Question 5 [15] Consider the following classes, illustrating the Strategy design pattern: import java.awt.*; abstract class Text { protected TextApplet tA; protected Text(TextApplet tApplet) { tA = tApplet; } abstract public void draw(Graphics g); } class PlainText extends Text { protected PlainText(TextApplet tApplet) { super(tApplet); } public void draw(Graphics g) { g.setColor(tA.getColor()); g.setFont(new Font("Sans-serif", Font.PLAIN, 12)); g.drawString(tA.getText(), 20, 20); } } class CodeText extends Text { protected CodeText(TextApplet tApplet) { super(tApplet); } public void draw(Graphics g) { g.setColor(tA.getColor()); g.setFont(new Font("Monospaced", Font.PLAIN, 12)); g.drawString(tA.getText(), 20, 20); } } public class TextApplet extends java.applet.Applet { protected Text text; protected String textVal; protected Color color; public String getText() { return textVal; } public Color getColor() { return color; } public void init() { textVal = getParameter("text"); String textStyle = getParameter("style"); String textColor = getParameter("color"); if (textStyle == "code") text = new CodeText(this); else text = new PlainText(this); if (textColor == "red") color = Color.RED; else if (textColor == "blue") color = Color.BLUE; else color = Color.BLACK; } public void paint(Graphics g) { text.draw(g); 10 } } The Text class is more complicated than it should be (there is too much coupling between the Text and TextApplet classes). By getting rid of the reference to a TextApplet object in the Text class and setting the colour in the paint() method, one could turn the Text class into an interface and simplify the strategy classes considerably. 5.1 Rewrite the Text and PlainText classes to do what is described above. (6) 5.2 Explain the consequent changes that are necessary to the TextApplet class. (4) 5.3 Write an additional strategy class called FancyText (to go with your simplified strategy classes) to allow fancy text to be displayed for the value "fancy" provided for the style parameter. It should use the font Font ("Serif", Font.ITALIC, 12). (3) 5.4 Explain what changes are necessary to the TextApplet class for this. (2)
List some features of the abstract class.
What will happen when using pass by reference in java?
In how many ways we can do exception handling in java?
What is parse method?