我正在使用Spring AOP分析遺留應用程序,我想根據需要做出的決定獲取一些數據點。使用問題:Spring AOP與AspectJ編織
這就是我到目前爲止所做的: 我已經使用Spring AOP創建了代碼和配置,這將幫助我剖析由Spring容器管理的bean。
在分析dao層時,我發現傳統應用程序使用c3p0框架 - 具體地說,ComboPooledDataSource
類。由於這個類是最後一個類,因此我無法再使用Spring AOP工作 - 因爲cglib無法爲最終類創建代理!
面對這個障礙,我打算使用方面編譯時編織技術。 我想知道這是正確的決定,還是有其他方法可以使用Spring AOP本身來解決這個問題。請告訴我。
配置信息:
<bean id="sample_dao" class="com.foo.SampleDaoImpl">
<property name="dataSource" ref="sample_data_source"/>
..
<property name="sampleProperty" ref="sample_bean"/>
</bean>
<bean id="sample_data_source" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close" depends-on="some_sample">
<property name="driverClass" value="${driverClassName}"/>
<property name="jdbcUrl" value="${url}"/>
<property name="user" value="${username}"/>
<property name="password" value="${password}"/>
<property name="initialPoolSize" value="1"/>
<property name="maxPoolSize" value="4"/>
<property name="acquireIncrement" value="1"/>
<property name="preferredTestQuery" value="select 1 from sample_table"/>
<property name="idleConnectionTestPeriod" value="30"/>
<property name="testConnectionOnCheckin" value="true"/>
<property name="acquireRetryAttempts" value="3"/>
<property name="connectionCustomizerClassName" value="com.foo.SampleConnectionCustomizer"/>
@KM你應該接受一個答案,如果它已經爲你工作(在投票櫃檯下方有一個勾號) – Bozho 2010-02-26 06:40:31