It does pool connections, but it's per SqlMapClient instance, so:
sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader, props);
Would result in a new instance that had its own connection pool.
Nothing magical here... so double check that you're using the right
instance everywhere.
One other thing though, this isn't an intended use for iBATIS -- to be
creating SqlMapClient instances like this. You might want to force
close all of the connections from the pool. If you're using
SimpleDataSource, you can do so like this:
((SimpleDataSource)sqlMap.getDataSource()).forceCloseAll();
Clinton
On Sun, Jun 22, 2008 at 2:04 PM, Wolf-Dieter Mische <[EMAIL PROTECTED]> wrote:
> It doesn't work. I also tried it with a second properties file. It seems to
> me that ibatis caches the connection or something.
>
> Any other suggestions?
>
> greetz
> wolle
>
>
> -------- Original-Nachricht --------
>> Datum: Sun, 22 Jun 2008 13:53:16 -0600
>> Von: "Clinton Begin" <[EMAIL PROTECTED]>
>> An: [email protected]
>> Betreff: Re: Changing the Database at runtime
>
>> Properties props = Resources.getResourceAsProperties(propfile);
>>
>> That line uses the classloader to load the props file. It's likely
>> caching the first time you load it.
>>
>> Try using a FileReader instead.
>>
>> Clinton
>>
>> On Sun, Jun 22, 2008 at 1:21 PM, Wolf-Dieter Mische <[EMAIL PROTECTED]>
>> wrote:
>> > Hello,
>> >
>> > in my current project I have to change the database at runtime. Does
>> anybody do this before? I found some information on spring and ibatis, but in
>> my case I have a simple java application.
>> >
>> > I tried it with changing a properties file and creating a new
>> SqlMapClient, but he always uses the old database.
>> >
>> > heres my code:
>> >
>> > String propfile = "com/mydom/ibatis.properties";
>> > Properties props = Resources.getResourceAsProperties(propfile);
>> >
>> > String sqlmap = "./src/com/mydom/SqlMapConfig.xml";
>> > Reader reader = new FileReader(sqlmap);
>> > SqlMapClient sqlMap =
>> SqlMapClientBuilder.buildSqlMapClient(reader, props);
>> >
>> > //doing some inserts, etc.
>> >
>> > props.setProperty("url",
>> "jdbc:mysql://localhost:3306/otherdatabase");
>> > sqlMap = SqlMapClientBuilder.buildSqlMapClient(reader, props);
>> >
>> > //doing some inserts, etc
>> >
>> > Any ideas?
>> >
>> > greetz
>> > wolle
>> > --
>> > GMX startet ShortView.de. Hier findest Du Leute mit Deinen Interessen!
>> > Jetzt dabei sein: http://www.shortview.de/[EMAIL PROTECTED]
>> >
>
> --
> Psssst! Schon vom neuen GMX MultiMessenger gehört?
> Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger
>