Spring Transactions

Print the objectives

Take the exam   Take a beta test

The following exam covers the topic of transaction API provided by the Spring Framework. Particularly it covers the 9th chapter of the Spring reference manual.
  Released  Beta  Frozen  

General

 
 

Motivation  1 question

  • Argue why one would like to use Spring transaction API.
  • Know what XA transactions are.
  • Understand the meaning of terms 'local transaction' and 'global transaction'.
  • Understand a difference between the declarative and programmatic transactions.
  • Compare Spring declarative transactions to EJB CMP.
5 50 1

Transactions overview  1 question

  • Describe the topic of transactions in general.
  • Understand what ACID acronym means.
  • Recognize how ACID principles are realized by transactions.
  • Understand the difference between optimistic and pessimistic locking.
  • Identify the features provided by Spring that are related to the declaration and the management of transactions.
11 61 0

Transactions isolation levels  1 question

  • Know the terms 'dirty read', 'non-repeatable read', 'phantom read' and so forth.
  • Recognize isolation levels of transactions.
  • Identify levels of isolation provided by the Spring Transaction API.
5 49 2

Transaction Managers  2 questions

  • Recognize various kinds of the transaction managers.
  • Demonstrate how to wire them with their dependencies in the configuration file.
  • Know that JtaTransactionManager allows to use distributed transactions.
6 32 4

Programmatic transactions  2 questions

  • Demonstrate how to use TransactionTemplate together with the transaction callback.
  • Show how to wire transaction manager to TransactionTemplate.
  • Provide examples of how to use transaction manager directly in the code.
  • Recognize various callback interfaces.
  • Explain the purpose and direct usage of the TransactionStatus class.
4 22 2

Declarative transactions  2 questions

  • Understand that Spring uses AOP in order to provide declarative transactions.
  • Provide examples of the proper wiring configuration of the TransactionProxyFactoryBean.
  • Use autoproxying features of the Spring AOP API in order to remove boilerplate configuration code.
  • Demonstrate how to make all or only some of the methods of the bean transaction-aware.
  • Identify how to configure Spring declarative transactions using annotations and xsd configuration.
8 27 4

Configuring transactions  2 questions

  • Recognize and describe four main attributes of each Spring transaction:
    • Propagation
    • Isolation
    • Read-only setting
    • Timeout
  • Show how to create transaction with the default attributes' values.
  • Configure each attribute of the declarative transactions using various techniques (by direct configuration of the TransactionProxyFactoryBean in the wiring file, via implementations of TransactionAttributeSource, annotations and so forth).
  • Configure transactions directly using programmatic transactions.
  • Know that Spring rollbacks unchecked exceptions by default - describe how to change that behavior.
7 51 1

Exam information

  • 16 minutes
  • 11 questions (352)
  • 80% required
  • +2 √
  • - 15  points
  • 15 day delay
  • status: released

Exam leader