connectionmanagementtestcase.java

来自「hibernate-3.0.5 中文文档」· Java 代码 · 共 104 行

JAVA
104
字号
// $Id: ConnectionManagementTestCase.java,v 1.2 2005/05/12 18:27:21 steveebersole Exp $package org.hibernate.test.connections;import org.hibernate.test.TestCase;import org.hibernate.Session;import org.hibernate.util.SerializationHelper;/** * Implementation of ConnectionManagementTestCase. * * @author Steve Ebersole */public abstract class ConnectionManagementTestCase extends TestCase {	public ConnectionManagementTestCase(String name) {		super( name );	}	protected final String[] getMappings() {		return new String[] { "connections/Silly.hbm.xml" };	}	protected void release(Session session) {		if ( session != null ) {			try {				session.close();			}			catch( Throwable ignore ) {			}		}	}	protected abstract Session getSessionUnderTest() throws Throwable;	protected abstract void reconnect(Session session) throws Throwable;	protected void done() throws Throwable {	}	public final void testConnectedSerialization() throws Throwable {		Session sessionUnderTest = getSessionUnderTest();		sessionUnderTest.connection();		try {			SerializationHelper.serialize( sessionUnderTest );			fail( "Serialization of connected session allowed!" );		}		catch( IllegalStateException e ) {			// expected behaviour		}		finally {			release( sessionUnderTest );			done();		}	}	public final void testManualDisconnectedSerialization() throws Throwable {		Session sessionUnderTest = getSessionUnderTest();		sessionUnderTest.disconnect();		SerializationHelper.serialize( sessionUnderTest );		release( sessionUnderTest );		done();	}	public final void testManualDisconnectChain() throws Throwable {		Session sessionUnderTest = getSessionUnderTest();		sessionUnderTest.disconnect();		byte[] bytes = SerializationHelper.serialize( sessionUnderTest );		Session s2 = ( Session ) SerializationHelper.deserialize( bytes );		reconnect( s2 );		s2.disconnect();		reconnect( s2 );		release( sessionUnderTest );		release( s2 );		done();	}	public final void testManualDisconnectWithOpenResources() throws Throwable {		Session sessionUnderTest = getSessionUnderTest();		sessionUnderTest.createQuery( "from Silly" ).iterate();		sessionUnderTest.disconnect();		SerializationHelper.serialize( sessionUnderTest );		reconnect( sessionUnderTest );		sessionUnderTest.createQuery( "from Silly" ).scroll();		sessionUnderTest.disconnect();		SerializationHelper.serialize( sessionUnderTest );		release( sessionUnderTest );		done();	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?