Hi, thanks!

Its a managed connection (CMT).
When using plain JBDC in an SLSB the jdbc connection is opened and closed in
each method.
When closing a method it is not really closed but rather returned to the
connection pool.

The container is afaik responsible for commit/rollback of the current
transaction, not closing the "checked out"
connection.

Does this make sense? does anyone else got ibatis working with jboss 5.1?


BR
Stefan


2010/1/14 Clinton Begin <clinton.be...@gmail.com>

> If it's a managed connection, it will not be closed, even if you call
> session.close().  The underlying container / transaction manager is
> responsible for closing it.  So the transaction scope for your SLSB should
> be opening and closing the connection.  Otherwise, change the transaction
> type to JDBC.
>
> Clinton
>
>
> On Wed, Jan 13, 2010 at 2:43 PM, Stefan Hagström <ste...@iserv.se> wrote:
>
>>
>>
>>
>>
>> Hi!
>>
>> I'm new to Ibatis, and have tried to create a simple slsb as a dao with
>> ibatis 3 with jboss 5.
>>
>> However it seems like connection are not closed/returned. Jboss is
>> complaining about connections not beeing closed:
>>
>> 21:32:15,146 INFO  [CachedConnectionManager] Closing a connection for you.
>>  Please close them yourself:
>> org.jboss.resource.adapter.jdbc.jdk5.wrappedconnectionj...@8cffca
>> java.lang.Throwable: STACKTRACE
>>
>>  I've attached the configuration and slsb, any ideas?
>>
>>
>> <configuration>
>> <settings>
>> <setting name="cacheEnabled" value="false"/>
>> <setting name="lazyLoadingEnabled" value="false"/>
>> </settings>
>>   <typeAliases>
>>     <typeAlias type="dto.valuecode.ValueCode" alias="ValueCode"/>
>>   </typeAliases>
>>
>>   <environments default="prod">
>>
>>        <environment id="prod">
>>        <transactionManager type="MANAGED">
>>        </transactionManager>
>>        <dataSource type="JNDI">
>>          <property name="data_source" value="java:/kalenderDB"/>
>>        </dataSource>
>>      </environment>
>>   </environments>
>>
>>
>>   <mappers>
>>     <mapper resource="META-INF/ValueCode.xml"/>
>>   </mappers>
>> </configuration>
>>
>>
>>
>> @Stateless
>> public class ValueCodeDao implements ValueCodeDaoInterface {
>>
>> SqlSessionFactory sqlSessionFactory=null;
>>
>> @PostConstruct
>> public void setup(){
>>
>> System.out.println("Reading Ibatis configuration for ValueCodeDao");
>>
>> String resource = "META-INF/ibatis.xml";
>> Reader reader;
>> try {
>> reader = Resources.getResourceAsReader(this
>> .getClass().getClassLoader(),resource);
>> sqlSessionFactory =  new SqlSessionFactoryBuilder().build(reader);
>>
>>
>> } catch (IOException e) {
>>
>> e.printStackTrace();
>> }
>>
>> }
>>
>>
>> public int getNextValueCodeNumber(){
>>
>> SqlSession session = sqlSessionFactory.openSession();
>> session.close();
>>
>> return 1;
>>
>> }
>>
>>
>> }
>>
>>
>

Reply via email to