0

次の構成を使用してデータベース(1つのmysql、1つのoracle)に接続します。私は、データベースへのアクセスと要求のパフォーマンスを監査できるようにSpringインターセプタを構成する方法があるのだろうかと思いますか?あなたのご意見ありがとうございます。BasicDataSourceのSpringインターセプタ

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="ignoreUnresolvablePlaceholders" value="true"/> 
</bean> 
<bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer"> 
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/> 
    <property name="searchContextAttributes" value="true"/> 
    <property name="contextOverride" value="true"/> 
    <property name="ignoreResourceNotFound" value="true"/> 
    <property name="locations"> 
     <list> 
      <value>classpath:database.properties</value> 
      <value>${config}</value> 
     </list> 
    </property> 
</bean> 

<!-- EntityManagerFactory --> 
<bean id="userEntityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="persistenceUnitManager" ref="userPersistenceUnitManager"/> 
    <property name="jpaDialect"> 
     <bean class="org.springframework.orm.jpa.vendor.EclipseLinkJpaDialect" /> 
    </property> 
    <property name="jpaProperties"> 
     <props> 
      <prop key="eclipselink.logging.level">FINE</prop> 
      <prop key="eclipselink.logging.timestamp">true</prop> 
      <prop key="eclipselink.logging.session">true</prop> 
      <prop key="eclipselink.logging.thread">true</prop> 
      <prop key="eclipselink.logging.exceptions">true</prop> 
      <prop key="eclipselink.weaving">false</prop> 
     </props> 
    </property> 
</bean> 

<!-- See http://commons.apache.org/dbcp/configuration.html 
--> 
<bean id="userDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
    <property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> 
    <property name="url" value="${database.url}"/> 

    <property name="username" value="${database.username}"/> 
    <property name="password" value="${database.password}"/> 

    <!-- performance tuning --> 
    <property name="initialSize" value="{database.minConnections}" /> 
    <property name="maxActive" value="{database.maxConnections}" /> 
    <property name="maxIdle" value="10"/> 
    <property name="minIdle" value="1"/> 

    <!-- The main purpose for the validation here is to avoid reusing a 
     expired DB connection --> 
    <property name="validationQuery" value="SELECT 1"/> 
    <property name="testOnBorrow" value="true"/> 
    <property name="testWhileIdle" value="false"/> 
    <property name="testOnReturn" value="false"/> 
</bean> 

<bean id="userPersistenceUnitManager" class="org.springframework.orm.jpa.persistenceunit.DefaultPersistenceUnitManager"> 
    <property name="persistenceXmlLocations"> 
     <list> 
      <value>classpath:META-INF/user_persistence.xml</value> 
     </list> 
    </property> 
    <property name="defaultDataSource" ref="userDataSource"/> 
</bean> 

答えて

1

これは春に技術的に関連していない、仕事をいくつかDataSourceデコレーターがあります。

+0

おかげためのSQLおよび/またはJDBCコール(および必要に応じてSQLタイミング情報)をログできるJava JDBCドライバであります@ Tomasz、可能であればインターセプターを探しています。 – user815809

関連する問題