Grails 2.2.1でjdbc情報を取得するために使用spring
したいのですが、機能せず、エラーが返されます。log4jdbc
これが次のlog4j
設定ですconfig.groovy
:
info 'jdbc.sqlonly','jdbc.sqltiming';
Grailsの春のdsl(resourc.groovy)は次のとおりです。
beans = {
xmlns aop:"http://www.springframework.org/schema/aop"
aop{
config("proxy-target-class":true)
}
log4jdbcInterceptor(net.sf.log4jdbc.DataSourceSpyInterceptor)
dataSourceLog4jdbcAutoProxyCreator(org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator){
interceptorNames ="log4jdbcInterceptor"
beanNames = ["dataSource"]
}
とDataSourceSpyInterceptor.java
public class DataSourceSpyInterceptor implements MethodInterceptor {
private RdbmsSpecifics rdbmsSpecifics = null;
private RdbmsSpecifics getRdbmsSpecifics(Connection conn) {
if(rdbmsSpecifics == null) {
rdbmsSpecifics = DriverSpy.getRdbmsSpecifics(conn);
}
return rdbmsSpecifics;
}
public Object invoke(MethodInvocation invocation) throws Throwable {
Object result = invocation.proceed();
if(SpyLogFactory.getSpyLogDelegator().isJdbcLoggingEnabled()) {
if(result instanceof Connection) {
Connection conn = (Connection)result;
return new ConnectionSpy(conn,getRdbmsSpecifics(conn));
}
}
return result;
}
}