Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Spring JdbcTemplate altera sessão


Há muitas maneiras de fazer isso. A primeira:

  • DataSource é uma interface, então por que você não a implementa (use o padrão Proxy)? Crie algo assim:
    class MyDataSource implements DataSource {
        private DataSource realDataSource;
    
        public Connection getConnection() {
              Connection c = realDataSource.getConnection();
              // do whatever you want to do and
              return c;
        }
    
    }
    

    Todos os outros métodos serão delegados diretamente para realDataSource.

    Esse proxy pode ser usado em um trecho de código fornecido.

  • Você pode usar algum AOP - apenas forneça um aviso de que, após a criação da conexão, executar e fazer o que você precisar lá. Basicamente é o mesmo proxy, mas criado automaticamente pelo Spring.