Hello,

I am using iBATIS to retrieve data on multiple threads simultaneously. I have experienced this problem with the svn
2.3.0 .xxx version and also the 2.2.0 GA release.

I get the error if I use DBCP or SIMPLE for my datasource. The value of 'commitRequired' has no effect on whether the exception occurs. Once the first exception occurs, there are dozens.

  <transactionManager type="JDBC" commitRequired="true">
    <dataSource type="SIMPLE">
      <property name="JDBC.Driver" value="com.mysql.jdbc.Driver"/>
      <property name="JDBC.ConnectionURL" value="jdbc:mysql://${geneDatasetDb.hostAndPort}/geneDataset"/>
      <property name="JDBC.Username" value="${geneDatasetDb.username}"/>
      <property name="JDBC.Password" value="${geneDatasetDb.password}"/>
      <property name="Pool.MaximumActiveConnections" value="${geneDatasetDb.maximumActiveConnections}"/>
    </dataSource>
  </transactionManager>

Here is the stack trace:
com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.BindException: Address already in use: connect

STACKTRACE:

java.net.SocketException: java.net.BindException: Address already in use: connect
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:2666)
        at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
        at java.sql.DriverManager.getConnection(DriverManager.java:525)
        at java.sql.DriverManager.getConnection(DriverManager.java:171)
        at com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:580)
        at com.ibatis.common.jdbc.SimpleDataSource.getConnection(SimpleDataSource.java:222)
        at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.init(JdbcTransaction.java:48)
        at com.ibatis.sqlmap.engine.transaction.jdbc.JdbcTransaction.getConnection(JdbcTransaction.java:89)
        at com.ibatis.sqlmap.engine.mapping.statement.GeneralStatement.executeQueryForObject(GeneralStatement.java:104)
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:565)
        at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.queryForObject(SqlMapExecutorDelegate.java:540)
        at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.queryForObject(SqlMapSessionImpl.java:106)
        at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.queryForObject(SqlMapClientImpl.java:84)
        at org.epistasis.db.SqlMapClientWrapper.queryForObject(SqlMapClientWrapper.java:60)
        at org.epistasis.db.geneAnnotation.GeneAnnotationDbAccess.getGeneById(GeneAnnotationDbAccess.java:113)
        at org.epistasis.db.geneDataset.Dataset$4.run(Dataset.java:631)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269)
        at java.util.concurrent.FutureTask.run(FutureTask.java:123)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)


** END NESTED EXCEPTION **

Anyone have ideas/suggestions?

Thanks,

Peter


-- 
--------------
Peter Andrews
Software Engineer
Dartmouth Medical School
Computational Genetics
Rubin 707
(603) 653-3598



Reply via email to