Refined javadoc for WebLogic/WebSphere transaction setup
Issue: SPR-10777
This commit is contained in:
		
							parent
							
								
									d32a77a5f0
								
							
						
					
					
						commit
						9035a97e18
					
				| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2002-2012 the original author or authors.
 | 
			
		||||
 * Copyright 2002-2013 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -56,6 +56,11 @@ import org.springframework.transaction.TransactionSystemException;
 | 
			
		|||
 * "transactionManager"/"transactionManagerName", passing in existing handles
 | 
			
		||||
 * or specifying corresponding JNDI locations to look up.
 | 
			
		||||
 *
 | 
			
		||||
 * <p><b>NOTE: This JtaTransactionManager is intended to refine specific transaction
 | 
			
		||||
 * demarcation behavior on Spring's side. It will happily co-exist with independently
 | 
			
		||||
 * configured WebLogic transaction strategies in your persistence provider, with no
 | 
			
		||||
 * need to specifically connect those setups in any way.</b>
 | 
			
		||||
 *
 | 
			
		||||
 * @author Juergen Hoeller
 | 
			
		||||
 * @since 1.1
 | 
			
		||||
 * @see org.springframework.transaction.TransactionDefinition#getName
 | 
			
		||||
| 
						 | 
				
			
			@ -136,11 +141,10 @@ public class WebLogicJtaTransactionManager extends JtaTransactionManager {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	private void loadWebLogicTransactionHelper() throws TransactionSystemException {
 | 
			
		||||
		if (this.transactionHelper == null) {
 | 
			
		||||
			try {
 | 
			
		||||
				Class transactionHelperClass = getClass().getClassLoader().loadClass(TRANSACTION_HELPER_CLASS_NAME);
 | 
			
		||||
				Class<?> transactionHelperClass = getClass().getClassLoader().loadClass(TRANSACTION_HELPER_CLASS_NAME);
 | 
			
		||||
				Method getTransactionHelperMethod = transactionHelperClass.getMethod("getTransactionHelper");
 | 
			
		||||
				this.transactionHelper = getTransactionHelperMethod.invoke(null);
 | 
			
		||||
				logger.debug("WebLogic TransactionHelper found");
 | 
			
		||||
| 
						 | 
				
			
			@ -159,7 +163,7 @@ public class WebLogicJtaTransactionManager extends JtaTransactionManager {
 | 
			
		|||
 | 
			
		||||
	private void loadWebLogicTransactionClasses() throws TransactionSystemException {
 | 
			
		||||
		try {
 | 
			
		||||
			Class userTransactionClass = getClass().getClassLoader().loadClass(USER_TRANSACTION_CLASS_NAME);
 | 
			
		||||
			Class<?> userTransactionClass = getClass().getClassLoader().loadClass(USER_TRANSACTION_CLASS_NAME);
 | 
			
		||||
			this.weblogicUserTransactionAvailable = userTransactionClass.isInstance(getUserTransaction());
 | 
			
		||||
			if (this.weblogicUserTransactionAvailable) {
 | 
			
		||||
				this.beginWithNameMethod = userTransactionClass.getMethod("begin", String.class);
 | 
			
		||||
| 
						 | 
				
			
			@ -171,13 +175,13 @@ public class WebLogicJtaTransactionManager extends JtaTransactionManager {
 | 
			
		|||
			}
 | 
			
		||||
 | 
			
		||||
			// Obtain WebLogic ClientTransactionManager interface.
 | 
			
		||||
			Class transactionManagerClass =
 | 
			
		||||
			Class<?> transactionManagerClass =
 | 
			
		||||
					getClass().getClassLoader().loadClass(CLIENT_TRANSACTION_MANAGER_CLASS_NAME);
 | 
			
		||||
			logger.debug("WebLogic ClientTransactionManager found");
 | 
			
		||||
 | 
			
		||||
			this.weblogicTransactionManagerAvailable = transactionManagerClass.isInstance(getTransactionManager());
 | 
			
		||||
			if (this.weblogicTransactionManagerAvailable) {
 | 
			
		||||
				Class transactionClass = getClass().getClassLoader().loadClass(TRANSACTION_CLASS_NAME);
 | 
			
		||||
				Class<?> transactionClass = getClass().getClassLoader().loadClass(TRANSACTION_CLASS_NAME);
 | 
			
		||||
				this.forceResumeMethod = transactionManagerClass.getMethod("forceResume", Transaction.class);
 | 
			
		||||
				this.setPropertyMethod = transactionClass.getMethod("setProperty", String.class, Serializable.class);
 | 
			
		||||
				logger.debug("Support for WebLogic forceResume available");
 | 
			
		||||
| 
						 | 
				
			
			@ -296,7 +300,6 @@ public class WebLogicJtaTransactionManager extends JtaTransactionManager {
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	@Override
 | 
			
		||||
	public Transaction createTransaction(String name, int timeout) throws NotSupportedException, SystemException {
 | 
			
		||||
		if (this.weblogicUserTransactionAvailable && name != null) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,5 @@
 | 
			
		|||
/*
 | 
			
		||||
 * Copyright 2002-2012 the original author or authors.
 | 
			
		||||
 * Copyright 2002-2013 the original author or authors.
 | 
			
		||||
 *
 | 
			
		||||
 * Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 * you may not use this file except in compliance with the License.
 | 
			
		||||
| 
						 | 
				
			
			@ -71,6 +71,11 @@ import org.springframework.util.ReflectionUtils;
 | 
			
		|||
 * simply specify the actual location through this transaction manager's
 | 
			
		||||
 * "uowManagerName" bean property.
 | 
			
		||||
 *
 | 
			
		||||
 * <p><b>NOTE: This JtaTransactionManager is intended to refine specific transaction
 | 
			
		||||
 * demarcation behavior on Spring's side. It will happily co-exist with independently
 | 
			
		||||
 * configured WebSphere transaction strategies in your persistence provider, with no
 | 
			
		||||
 * need to specifically connect those setups in any way.</b>
 | 
			
		||||
 *
 | 
			
		||||
 * @author Juergen Hoeller
 | 
			
		||||
 * @since 2.5
 | 
			
		||||
 * @see #setUowManager
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue