So you want to change JDBC driver configuration based on the invoked method?
For reporting reasons? I'm very curious, can you give more details? An example? On 1/24/08 1:19 PM, "Hugh Ross" <[EMAIL PROTECTED]> wrote: > Unfortunately, the InvocationHandler for SimplePooledConnection is a private > nested class. > > Yes, we can set properties at the DataSource level, but we want to change it > at run time based on the data access "service" being invoked (e.g., for > finer-grain performance reporting). > > > On 1/24/08, Jeff Butler <[EMAIL PROTECTED]> wrote: >> >> I see. Then you'll need to do the "isProxy" method and check for >> SimplePooledConnection as the invocation handler. Then you can call the >> getRealConnection() method - which may return a further proxied object if >> logging is enabled. Proxy upon proxy - it can get complex to unwind these >> things. >> >> I have to wonder - is this really necessary? You can probably set the >> value you mentioned as a driver property and not have to write all this >> untangling code. >> >> Jeff Butler >> >> >> >> >> On Jan 24, 2008 12:33 PM, Hugh Ross <[EMAIL PROTECTED]> wrote: >> >>> In my debugger, it looks like my Proxy is >>> actually SimpleDataSource-related, not logging. And, SimpleDataSource seems >>> to have a method to unrwrapConnection(). Still digging... >>> >>> >>> On 1/24/08, Jeff Butler <[EMAIL PROTECTED]> wrote: >>>> >>>> I just checked SVN and that method was indeed added in 2.3. I'll add >>>> that information to the WIKI page. >>>> >>>> There's no other way to the underlying Connection object unless you >>>> disable logging in all circumstances, or you write some custom reflection >>>> code that gives you access to the private field. Upgrading to 2.3 is >>>> much easier (I would say that 2.3 is quite stable - it's been out over >>>> a year). >>>> >>>> Jeff Butler >>>> >>>> >>>> On Jan 24, 2008 11:56 AM, Hugh Ross <[EMAIL PROTECTED]> wrote: >>>> >>>>> >>>>> Thanks, Jeff. I'm not finding a getConnection method in the >>>>> ConnectionLogProxy class. Is that because I'm using iBATIS 2.2.0? >>>>> If so, is there another way to get the underlying Connection object? >>>>> >>>>> >>>>> On 1/24/08, Jeff Butler <[EMAIL PROTECTED] > wrote: >>>>>> >>>>>> This comes up a lot! I just added a WIKI page describing the >>>>>> process: >>>>>> >>>>>> http://opensource.atlassian.com/confluence/oss/pages/viewpage.action?page >>>>>> Id=15597591 >>>>>> >>>>>> >>>>>> Jeff Butler >>>>>> >>>>>> >>>>>> >>>>>> On Jan 24, 2008 10:03 AM, Hugh Ross <[EMAIL PROTECTED]> wrote: >>>>>> >>>>>>> Can anyone provide some sample code for this? >>>>>>> >>>>>>> I tried, but seemed to be blocked by $proxy objects or odd >>>>>>> looking com.ibm.db2.jcc.b.b objects... >>>>>>> >>>>>>> For example, this did not work for me: >>>>>>> >>>>>>> java.sql.Connection conn = >>>>>>> sqlMapClient.getCurrentConnection(); >>>>>>> >>>>>>> if (conn instanceof com.ibm.db2.jcc.DB2Connection ) >>>>>>> { >>>>>>> com.ibm.db2.jcc.DB2Connection db2conn = ( >>>>>>> com.ibm.db2.jcc.DB2Connection)conn; >>>>>>> db2conn.setDB2ClientApplicationInformation >>>>>>> ("SomethingUsefulHere"); >>>>>>> } >>>>>>> >>>>>>> I also tried getting the DataSource 1st. >>>>>>> >>>>>>> Thanks! >>>>>>> >>>>>> >>>>>> >>>>> >>>>> >>>> >>>> >>> >>> >> >>