当前位置: 首页>>代码示例>>Java>>正文


Java ConnectionProxy类代码示例

本文整理汇总了Java中org.springframework.jdbc.datasource.ConnectionProxy的典型用法代码示例。如果您正苦于以下问题:Java ConnectionProxy类的具体用法?Java ConnectionProxy怎么用?Java ConnectionProxy使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


ConnectionProxy类属于org.springframework.jdbc.datasource包,在下文中一共展示了ConnectionProxy类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: testRollback

import org.springframework.jdbc.datasource.ConnectionProxy; //导入依赖的package包/类
/**
 * Tests with a test with transaction rollback configured
 */
@Test
public void testRollback() throws Exception {
    expect(mockConnection1.getAutoCommit()).andReturn(true).andReturn(false).anyTimes();
    mockConnection1.setAutoCommit(false);
    mockConnection1.rollback();
    mockConnection1.close();
    replay(mockConnection1, mockConnection2);

    Method testMethod = RollbackTest.class.getMethod("test", new Class[]{});
    DataSource dataSource = wrapper.getTransactionalDataSourceAndActivateTransactionIfNeeded(rollbackTest);
    databaseModule.startTransactionForTestMethod(rollbackTest, testMethod);
    Connection connection1 = dataSource.getConnection();
    Connection targetConnection1 = ((ConnectionProxy) connection1).getTargetConnection();
    connection1.close();
    Connection connection2 = dataSource.getConnection();
    Connection targetConnection2 = ((ConnectionProxy) connection2).getTargetConnection();
    connection2.close();
    assertSame(targetConnection1, targetConnection2);
    databaseModule.endTransactionForTestMethod(rollbackTest, testMethod);

    verify(mockConnection1, mockConnection2);
}
 
开发者ID:linux-china,项目名称:unitils,代码行数:26,代码来源:DatabaseModuleTransactionManagerTest.java

示例2: testCommit

import org.springframework.jdbc.datasource.ConnectionProxy; //导入依赖的package包/类
/**
 * Tests with a test with transaction commit configured
 */
@Test
public void testCommit() throws Exception {
    expect(mockConnection1.getAutoCommit()).andReturn(true).andReturn(false).anyTimes();
    mockConnection1.setAutoCommit(false);
    mockConnection1.commit();
    mockConnection1.close();
    replay(mockConnection1, mockConnection2);

    Method testMethod = CommitTest.class.getMethod("test", new Class[]{});
    DataSource dataSource = wrapper.getTransactionalDataSourceAndActivateTransactionIfNeeded(commitTest);
    databaseModule.startTransactionForTestMethod(commitTest, testMethod);
    Connection connection1 = dataSource.getConnection();
    Connection targetConnection1 = ((ConnectionProxy) connection1).getTargetConnection();
    connection1.close();
    Connection connection2 = dataSource.getConnection();
    Connection targetConnection2 = ((ConnectionProxy) connection2).getTargetConnection();
    connection2.close();
    assertSame(targetConnection1, targetConnection2);
    databaseModule.endTransactionForTestMethod(commitTest, testMethod);

    verify(mockConnection1, mockConnection2);
}
 
开发者ID:linux-china,项目名称:unitils,代码行数:26,代码来源:DatabaseModuleTransactionManagerTest.java

示例3: getConnection_NoReadReplicaAvailableNoTransactionActive_returnsDefaultDataSource

import org.springframework.jdbc.datasource.ConnectionProxy; //导入依赖的package包/类
@Test
public void getConnection_NoReadReplicaAvailableNoTransactionActive_returnsDefaultDataSource() throws Exception {

    //Arrange
    DataSource defaultDataSource = mock(DataSource.class);
    Connection connection = mock(Connection.class);

    when(defaultDataSource.getConnection()).thenReturn(connection);

    ReadOnlyRoutingDataSource readOnlyRoutingDataSource = new ReadOnlyRoutingDataSource();
    readOnlyRoutingDataSource.setTargetDataSources(Collections.emptyMap());
    readOnlyRoutingDataSource.setDefaultTargetDataSource(defaultDataSource);
    readOnlyRoutingDataSource.afterPropertiesSet();

    LazyConnectionDataSourceProxy dataSource = new LazyConnectionDataSourceProxy(readOnlyRoutingDataSource);


    //Act
    Connection connectionReturned = dataSource.getConnection();

    //Assert
    assertSame(connection, ((ConnectionProxy) connectionReturned).getTargetConnection());
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-aws,代码行数:24,代码来源:ReadOnlyRoutingDataSourceTest.java

示例4: getConnection_NoReadReplicaAvailableReadOnlyTransactionActive_returnsDefaultDataSource

import org.springframework.jdbc.datasource.ConnectionProxy; //导入依赖的package包/类
@Test
public void getConnection_NoReadReplicaAvailableReadOnlyTransactionActive_returnsDefaultDataSource() throws Exception {

    //Arrange
    DataSource defaultDataSource = mock(DataSource.class);
    Connection connection = mock(Connection.class);

    when(defaultDataSource.getConnection()).thenReturn(connection);

    ReadOnlyRoutingDataSource readOnlyRoutingDataSource = new ReadOnlyRoutingDataSource();
    readOnlyRoutingDataSource.setTargetDataSources(Collections.emptyMap());
    readOnlyRoutingDataSource.setDefaultTargetDataSource(defaultDataSource);
    readOnlyRoutingDataSource.afterPropertiesSet();

    LazyConnectionDataSourceProxy dataSource = new LazyConnectionDataSourceProxy(readOnlyRoutingDataSource);

    DefaultTransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
    transactionDefinition.setReadOnly(true);

    TransactionTemplate transactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(dataSource), transactionDefinition);

    //Act
    Connection connectionReturned = transactionTemplate.execute(status -> {
        try {
            return ((ConnectionProxy) dataSource.getConnection()).getTargetConnection();
        } catch (SQLException e) {
            fail(e.getMessage());
        }
        return null;
    });

    //Assert
    assertSame(connection, connectionReturned);
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-aws,代码行数:35,代码来源:ReadOnlyRoutingDataSourceTest.java

示例5: getConnection_ReadReplicaAvailableReadOnlyTransactionActive_returnsReadReplicaDataSource

import org.springframework.jdbc.datasource.ConnectionProxy; //导入依赖的package包/类
@Test
public void getConnection_ReadReplicaAvailableReadOnlyTransactionActive_returnsReadReplicaDataSource() throws Exception {

    //Arrange
    DataSource defaultDataSource = mock(DataSource.class);
    Connection connection = mock(Connection.class);

    DataSource readOnlyDataSource = mock(DataSource.class);
    Connection readOnlyConnection = mock(Connection.class);


    when(readOnlyDataSource.getConnection()).thenReturn(readOnlyConnection);
    when(defaultDataSource.getConnection()).thenReturn(connection);

    ReadOnlyRoutingDataSource readOnlyRoutingDataSource = new ReadOnlyRoutingDataSource();
    readOnlyRoutingDataSource.setTargetDataSources(Collections.singletonMap("read1", readOnlyDataSource));
    readOnlyRoutingDataSource.setDefaultTargetDataSource(defaultDataSource);
    readOnlyRoutingDataSource.afterPropertiesSet();

    LazyConnectionDataSourceProxy dataSource = new LazyConnectionDataSourceProxy(readOnlyRoutingDataSource);

    DefaultTransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
    transactionDefinition.setReadOnly(true);

    TransactionTemplate transactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(dataSource), transactionDefinition);

    //Act
    Connection connectionReturned = transactionTemplate.execute(status -> {
        try {
            return ((ConnectionProxy) dataSource.getConnection()).getTargetConnection();
        } catch (SQLException e) {
            fail(e.getMessage());
        }
        return null;
    });

    //Assert
    assertSame(readOnlyConnection, connectionReturned);
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-aws,代码行数:40,代码来源:ReadOnlyRoutingDataSourceTest.java

示例6: getConnection_ReadReplicaAvailableWriteTransactionActive_returnsDefaultDataSource

import org.springframework.jdbc.datasource.ConnectionProxy; //导入依赖的package包/类
@Test
public void getConnection_ReadReplicaAvailableWriteTransactionActive_returnsDefaultDataSource() throws Exception {

    //Arrange
    DataSource defaultDataSource = mock(DataSource.class);
    Connection connection = mock(Connection.class);

    DataSource readOnlyDataSource = mock(DataSource.class);
    Connection readOnlyConnection = mock(Connection.class);


    when(readOnlyDataSource.getConnection()).thenReturn(readOnlyConnection);
    when(defaultDataSource.getConnection()).thenReturn(connection);

    ReadOnlyRoutingDataSource readOnlyRoutingDataSource = new ReadOnlyRoutingDataSource();
    readOnlyRoutingDataSource.setTargetDataSources(Collections.singletonMap("read1", readOnlyDataSource));
    readOnlyRoutingDataSource.setDefaultTargetDataSource(defaultDataSource);
    readOnlyRoutingDataSource.afterPropertiesSet();

    LazyConnectionDataSourceProxy dataSource = new LazyConnectionDataSourceProxy(readOnlyRoutingDataSource);

    DefaultTransactionDefinition transactionDefinition = new DefaultTransactionDefinition();
    transactionDefinition.setReadOnly(false);

    TransactionTemplate transactionTemplate = new TransactionTemplate(new DataSourceTransactionManager(dataSource), transactionDefinition);

    //Act
    Connection connectionReturned = transactionTemplate.execute(status -> {
        try {
            return ((ConnectionProxy) dataSource.getConnection()).getTargetConnection();
        } catch (SQLException e) {
            fail(e.getMessage());
        }
        return null;
    });

    //Assert
    assertSame(connection, connectionReturned);
}
 
开发者ID:spring-cloud,项目名称:spring-cloud-aws,代码行数:40,代码来源:ReadOnlyRoutingDataSourceTest.java

示例7: createConnectionProxy

import org.springframework.jdbc.datasource.ConnectionProxy; //导入依赖的package包/类
/**
 * Create a close-suppressing proxy for the given JDBC Connection.
 * Called by the {@code execute} method.
 * <p>The proxy also prepares returned JDBC Statements, applying
 * statement settings such as fetch size, max rows, and query timeout.
 * @param con the JDBC Connection to create a proxy for
 * @return the Connection proxy
 * @see java.sql.Connection#close()
 * @see #execute(ConnectionCallback)
 * @see #applyStatementSettings
 */
protected Connection createConnectionProxy(Connection con) {
	return (Connection) Proxy.newProxyInstance(
			ConnectionProxy.class.getClassLoader(),
			new Class<?>[] {ConnectionProxy.class},
			new CloseSuppressingInvocationHandler(con));
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:18,代码来源:JdbcTemplate.java


注:本文中的org.springframework.jdbc.datasource.ConnectionProxy类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。