If you think it's a bug, zip up a failing unit test and attach it to a JIRA request.
Cheers, Clinton On Sun, Jun 22, 2008 at 2:57 PM, Wolf-Dieter Mische <[EMAIL PROTECTED]> wrote: > hm... currently I separated the creation in a parameterless function and > getting the same result. before I calling the function I do this: > ((SimpleDataSource)sqlMap.getDataSource()).forceCloseAll(); > sqlMap = null; > System.gc(); > createNewInstance(); > > The logging says: SimpleDataSource forcefully closed/removed all connections. > > So it looks like that the connections are closed. There must be some > remaining object in ibatis. > > > greetz > wolle > > -------- Original-Nachricht -------- >> Datum: Sun, 22 Jun 2008 14:15:57 -0600 >> Von: "Clinton Begin" <[EMAIL PROTECTED]> >> An: [email protected] >> Betreff: Re: Changing the Database at runtime > >> 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 >> > > > -- > Psssst! Schon vom neuen GMX MultiMessenger gehört? > Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger >
