2013-07-19 7 views
0

Я попытался с помощью BoneCP объединять соединения Vertica, но я бегу на ошибкиBoneCP с Vertica

[BoneCP-pool-watch-thread-vertica pool] ERROR com.jolbox.bonecp.PoolWatchThread - Error in trying to obtain a connection. Retrying in 7000ms 
java.sql.SQLException: [Vertica][JDBC](11760) Cannot call setReadOnly while Connection is in a transaction. 
    at com.jolbox.bonecp.ConnectionHandle.setReadOnly(ConnectionHandle.java:1279) 
    at com.jolbox.bonecp.ConnectionHandle.<init>(ConnectionHandle.java:254) 
    at com.jolbox.bonecp.ConnectionHandle.<init>(ConnectionHandle.java:185) 
    at com.jolbox.bonecp.PoolWatchThread.fillConnections(PoolWatchThread.java:114) 
    at com.jolbox.bonecp.PoolWatchThread.run(PoolWatchThread.java:81) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) 
    at java.lang.Thread.run(Thread.java:662) 

Это код, я использую

BoneCPConfig bvcp = new BoneCPConfig(); 
    Class.forName("com.vertica.jdbc.Driver"); 
    bvcp.setPoolName("vertica pool"); 
    bvcp.setDefaultReadOnly(false); 
    bvcp.setJdbcUrl("jdbc:vertica://vertica-server:5433/schema"); 
    bvcp.setUser("username"); 
    bvcp.setPassword("vertica-pwd"); 

    BoneCPDataSource bds = new BoneCPDataSource(bvcp); 

    JdbcTemplate template = new JdbcTemplate(ds); 

    List<Map<String, Object>> ret = template 
       .queryForList("select * from table1 "); 

Я попробовал один и тот же код с Oracle и HSQL и он отлично работает.

это с водителем Vertica JDBC 5.1.1 и 0.8.0 BoneCP-rc1

Любая помощь очень ценится.

ответ

0

Эта проблема была решена после того, как я модернизировал драйвер Vertica JDBC 6.1.2

Видимо в 5.1.1 сделки начинается сразу же после подключения.

 Смежные вопросы

  • Нет связанных вопросов^_^