Depends on the underlying framework; Sun's default Java Virtual
Machine (JVM) has the following: ConsoleHandler, FileHandler,
SocketHandler, MemoryHandler
“A transaction is a complete unit of work. It may comprise many computational tasks,which may include user interface, data retrieval, and communications. A typicaltransaction modifies shared resources.”
4 Common XAResource
JDBC 2.0:
A JDBC driver that supports distributed transactions implements the javax.transaction.xa.XAResource interface, the javax.sql.XAConnectioninterface, and the javax.sql.XADataSource interface.
JMS 1.0:
a JMS provider javax.transaction.xa.XAResource interface, the implements the javax.jms.XAConnection and the javax.jms.XASession interface.
5 Common TransactionManager
5.1 EJB Transaction Options:
NotSupported
If the method is called within a transaction, this transaction is suspended during the time of the method execution.
Required
If the method is called within a transaction, the method is executed in the scope of this transaction; otherwise, a new transaction is started for the execution of the method and committed before the method result is sent to the caller.
RequiresNew
The method will always be executed within the scope of a new transaction. The new transaction is started for the execution of the method, and committed before the method result is sent to the caller. If the method is called within a transaction, this transaction is suspended before the new one is started and resumed when the new transaction has completed.
Mandatory
The method should always be called within the scope of a transaction, else the container will throw the TransactionRequired exception.
Supports
The method is invoked within the caller transaction scope; if the caller does not have an associated transaction, the method is invoked without a transaction scope.
Never
The client is required to call the bean without any transaction context; if it is not the case, a java.rmi.RemoteException is thrown by the container.
5.2 Spring transaction:
Transaction isolation: The degree of isolation this transaction has from the work of other transactions. For example, can this transaction see uncommitted writes from other transactions? avaliable options:
ISOLATION_DEFAULT
ISOLATION_READ_UNCOMMITTED
ISOLATION_READ_COMMITTED
ISOLATION_REPEATABLE_READ
ISOLATION_SERIALIZABLE
Transaction propagation: Normally all code executed within a transaction scope will run in that transaction. However, there are several options specifying behavior if a transactional method is executed when a transaction context already exists: For example, simply running in the existing transaction (the most common case); or suspending the existing transaction and creating a new transaction. Spring offers the transaction propagation options familiar from EJB CMT. avaliable options:
PROPAGATION_MANDATORY
PROPAGATION_NESTED
PROPAGATION_NEVER
PROPAGATION_NOT_SUPPORTED
PROPAGATION_REQUIRED
PROPAGATION_REQUIRES_NEW
PROPAGATION_SUPPORTS
Transaction timeout: How long this transaction may run before timing out (automatically being rolled back by the underlying transaction infrastructure).
Read-only status: A read-only transaction does not modify any data. Read-only transactions can be a useful optimization in some cases (such as when using Hibernate).
6 transaction for web service
Protocol specifications:
WS-Transaction
OASIS Business Transaction Protocol (BTP)
Java API
JAXTX (JSR-156)
]]>java 浣嶈繍綆?/title>http://www.tkk7.com/sevenduan/archive/2010/04/13/318160.htmlsevenduansevenduanTue, 13 Apr 2010 06:39:00 GMThttp://www.tkk7.com/sevenduan/archive/2010/04/13/318160.htmlhttp://www.tkk7.com/sevenduan/comments/318160.htmlhttp://www.tkk7.com/sevenduan/archive/2010/04/13/318160.html#Feedback0http://www.tkk7.com/sevenduan/comments/commentRss/318160.htmlhttp://www.tkk7.com/sevenduan/services/trackbacks/318160.html
~ The unary bitwise complement operator "~" inverts a bit
pattern.
<<The signed left shift
>>The signed right shift
>>>the unsigned right shift
& The bitwise & operator performs a bitwise AND
operation.
^ The bitwise ^ operator performs a bitwise exclusive OR
operation.
| The bitwise | operator performs a bitwise inclusive OR
operation.
Usage:
1,
^ can swap two variables without using an intermediate,
temporary variable which is useful if you are short on available RAM or
want that sliver of extra speed.
Usually, when not using^, you will do:
temp = a;
a = b;
b = temp;
Using^, no "temp" is needed:
a ^= b;
b ^= a;
a ^= b;
This will swap "a" and "b" integers. Both must be
integers.
2,
an example of using an integer to maintain state flags (common
usage):
// These are my masks
privatestaticfinalint MASK_DID_HOMEWORK =0x0001;
privatestaticfinalint MASK_ATE_DINNER =0x0002;
privatestaticfinalint MASK_SLEPT_WELL =0x0004;
// This is my current state
privateint m_nCurState;
To set my state, I use the bitwise OR
operator:
// Set state for'ate dinner' and 'slept well' to 'on'