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 + -
显示快捷键?