Hello, I am wondering if you are using the cache in iBATIS via the cacheModel attribute in the sqlmap xml? I would think that switching the datasource out from under the SqlMapClient would cause results from the various data sources to get merged into the SqlMapClient's cache. As far as I know, the cache is not segmented by datasource, but I do not know for certain.
Thanks, Chris -----Original Message----- From: Kyohyoh Choh [mailto:[EMAIL PROTECTED] Sent: Mon 4/16/2007 9:42 PM To: user-java@ibatis.apache.org Subject: Re: How can I change datasource connect info on the fly w/iBATIS and Spring? Hello Our application has a similar requirement that need to switch among multiple datasources dynamicly, although we do not need to create datasource in fly. We defined the datasources in ApplicationContex.xml, then using getBean to load the datasource depand on the user's request parameter and then set the datasource to the DAO's sqlMapClientTemplate using setDataSource method. Also we need to define DAO as Singleton=false to keep thread save. Best Regards Paul Sanders <[EMAIL PROTECTED] com> To user-java@ibatis.apache.org 2007/04/14 06:27 cc Subject Please respond to Re: How can I change datasource [EMAIL PROTECTED] connect info on the fly w/iBATIS apache.org and Spring? Interesting.... but you are right, our datasource info is not known in advance though some are stored in a table and fetched at runtime when the user selects it from a drop down in the browser. And of course they can create one on the fly, too. I wonder if the answer is to unwire the datasource from the DAO bean and inject it by hand in the controller method. I lose the niceness of the Spring framework for this particular task but I think it should work? Paul Chris Lamey wrote: > > Yea, Spring has a new AbstractRoutingDataSource that can route to a > different datasource based on a ThreadLocal. The problem is that the > iBATIS SqlMapClient doesn't know the datasource isn't the same between > calls, so your caching gets horked. > > I don't know if it'll work for you because your datasources have to be > known in advance and it sounds like yours may not be. > > Cheers, > Chris > > -- View this message in context: http://www.nabble.com/How-can-I-change-datasource-connect-info-on-the-fly-w-iBATIS-and-Spring--tf3573169.html#a9986772 Sent from the iBATIS - User - Java mailing list archive at Nabble.com.