Home  >  Blog  >   JBoss  > 

Configuring transaction in JBoss

Rating: 4
  
 
3023
  1. Share:
JBoss Articles

A transaction can be defined as a group of operations that must be performed as a unit and can involve persisting data objects, sending a message, and so on.

When the operations in a transaction are performed across databases or other resources that reside on separate computers or processes, this is known as a distributed transaction. Such enterprise-wide transactions require special coordination between the resources involved and can be extremely difficult to program reliably. This is where Java Transaction API (JTA) comes in, providing the interface that resources can implement and to which they can bind, in order to participate in a distributed transaction.

Inclined to build a profession as JBOSS Developer? Then here is the blog post on JBOSS TRAINING ONLINE.

The EJB container is a transaction manager that supports JTA and so can participate in distributed transactions involving other EJB containers, as well as third-party JTA resources, such as many database management systems. Within JBoss AS 7 transactions are configured in their own subsystem. The transactions subsystem consists mainly of four elements:

  • Core environment
  • Recovery-environment
  • Coordinator-environment
  • Object-store

The core environment includes the Transaction Manager interface, which allows the application server to control the transaction boundaries on behalf of the resource being managed.

                  jboss transaction service

A transaction coordinator, in turn, manages communication with transactional objects and resources that participate in transactions.

The recovery subsystem of JBossTS ensures that results of a transaction are applied consistently to all resources affected by the transaction, even if any of the application processes or the machine hosting them crashes or loses network connectivity.

Frequently asked Jboss Interview Questions

Within the transaction service, JBoss transaction service uses an ObjectStore to persistently record the outcomes of transactions, for failure recovery. As a matter of fact, the RecoveryManager scans the ObjectStore and other locations of information, looking for transactions and resources that require, or may require, recovery.

MindMajix YouTube Channel

The core and recovery environment can be customized by changing their socket-binding properties, which are referenced in the socket-binding-group configuration section. You might find it more useful to define custom properties in the coordinator-environment section, which might include the default-timeout and logging statistics. Here’s a sample custom transaction configuration:

default-timeout specifies the default transaction timeout to be used for new transactions, which is specified as an integer in seconds.

enable-statistics determines whether or not the transaction service should gather statistical information. The default is to not gather this information.

How does the transaction timeout impact your applications?

The transaction timeout defines the timeout for all JTA transaction enlisted and thus severely affects your application behavior. A typical JTA transaction might be started by your EJBs or by a JMS Session. So, if the duration of these transactions exceeds the specified timeout setting, the transaction service will roll-back the transactions automatically.

Explore Jboss Sample Resumes! Download & Edit, Get Noticed by Top Employers!Download Now!
Join our newsletter
inbox

Stay updated with our newsletter, packed with Tutorials, Interview Questions, How-to's, Tips & Tricks, Latest Trends & Updates, and more ➤ Straight to your inbox!

Course Schedule
NameDates
JBoss TrainingMar 25 to Apr 09
JBoss TrainingMar 28 to Apr 12
JBoss TrainingApr 01 to Apr 16
JBoss TrainingApr 04 to Apr 19
Last updated: 21 March 2023
About Author
Remy Sharp
Ravindra Savaram

Ravindra Savaram is a Content Lead at Mindmajix.com. His passion lies in writing articles on the most popular IT platforms including Machine learning, DevOps, Data Science, Artificial Intelligence, RPA, Deep Learning, and so on. You can stay up to date on all these technologies by following him on LinkedIn and Twitter.