Jdbc 在Java应用程序中使用dbcp连接池设置DB2客户机审计信息

Jdbc 在Java应用程序中使用dbcp连接池设置DB2客户机审计信息,jdbc,db2,connection-pooling,audit,apache-commons-dbcp,Jdbc,Db2,Connection Pooling,Audit,Apache Commons Dbcp,我正在Tomcat5.5上开发Java应用程序,使用JNDI连接到共享dbcp连接池,使用JDBC3.0驱动程序和zOS上的DB28以及LUW上的DB29。在我的应用程序中,我使用org.springframework.jndi.JndiObjectFactoryBean获取数据源,并将其输入org.springframework.jdbc.core.simple.SimpleJdbcTemplate以运行查询。到目前为止,这是一个相当好的解决方案,但我们的DBA要求我们为审计SQL性能提供更好

我正在Tomcat5.5上开发Java应用程序,使用JNDI连接到共享dbcp连接池,使用JDBC3.0驱动程序和zOS上的DB28以及LUW上的DB29。在我的应用程序中,我使用org.springframework.jndi.JndiObjectFactoryBean获取数据源,并将其输入org.springframework.jdbc.core.simple.SimpleJdbcTemplate以运行查询。到目前为止,这是一个相当好的解决方案,但我们的DBA要求我们为审计SQL性能提供更好的粒度。目前,所有Portlet和应用程序都使用相同的连接池连接到数据库,区分应用程序的唯一方法是将SQL运行与每个应用程序中的SQL匹配。我们不想为每个应用程序创建单独的池。DB2在驱动程序的DB2Connection上提供了几种方法,允许我们设置审计信息 setDB2ClientApplicationInformation
setDB2ClientUser
setDB2ClientWorkstation
setDB2ClientAccountingInformation 我的问题是。。。在连接池中的连接上设置这些值的最佳方法是什么。我是否需要访问基础连接才能设置这些值?我是否应该在将连接返回到池之前清除它们?有人有代码示例吗