Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Deixando Statistics Acessível

Bom dia!

Após realizar a configuração da classe Statistics no projeto os métodos para retornar os valores de conexões utilizadas e objetos não está funcionando.

Abaixo os pontos modificados:

Classe JpaConfigurator:

@Bean
public ComboPooledDataSource getDataSource(){
    ComboPooledDataSource dataSource = new ComboPooledDataSource();
    try {
        dataSource.setDriverClass("com.mysql.jdbc.Driver");
    } catch (PropertyVetoException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    dataSource.setJdbcUrl("jdbc:mysql://localhost/projeto_jpa");
    dataSource.setUser("root");
    dataSource.setPassword("root");

    dataSource.setMinPoolSize(3);
    dataSource.setMaxPoolSize(5);
    dataSource.setNumHelperThreads(15);
    //dataSource.setIdleConnectionTestPeriod(1);//a cada um segundo testamos as conexões ociosas

    System.out.println(">>>> INICIO CONECT <<<<");

    return dataSource;
}

@Bean
public Statistics statics (EntityManagerFactory emf){
    return emf.unwrap(SessionFactory.class).getStatistics();
}

Arquivo Index :

${statistics.queryCacheHitCount}${statistics.queryCacheMissCount}${statistics.connectCount}

Obrigado.

fabio

1 resposta
solução!

Eu acho que o Hibernate simplesmente não está lendo sua configuração.

Configurando o Hibernate Statistics:

Esse recurso vem desabilitado por padrão, para ativá-lo, adicione uma propriedade na configuração da JPA. Na nossa classe JpaConfigurator acrescente:

@Bean
public LocalContainerEntityManagerFactoryBean getEntityManagerFactory(DataSource dataSource) {
    ...    
    props.setProperty("hibernate.generate_statistics", "true");
    ...
}

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software