2017-08-16 62 views
0

私はTomcatを7.0.65上で動作するアプリケーションを持っている、とorg.apache.tomcat.jdbc.pool.DataSourceTomcatの接続プール、接続タイムアウト

を使用して、私は、接続プールの設定があります。私は私が手にアプリケーションを実行しようとすると、

PoolProperties p = new PoolProperties(); 
    p.setUrl("jdbc:oracle:thin:@...."); 
    p.setDriverClassName("oracle.jdbc.OracleDriver"); 
    p.setUsername("***"); 
    p.setPassword("***"); 
    p.setJmxEnabled(true); 
    p.setTestWhileIdle(false); 
    p.setTestOnBorrow(true); 
    p.setValidationQuery("SELECT 1 from dual"); 
    p.setTestOnReturn(false); 
    p.setValidationInterval(30000); 
    p.setTimeBetweenEvictionRunsMillis(30000); 
    p.setMaxActive(100); 
    p.setInitialSize(10); 
    p.setMaxWait(10000); 
    p.setRemoveAbandonedTimeout(60); 
    p.setMinEvictableIdleTimeMillis(30000); 
    p.setMinIdle(10); 
    p.setLogAbandoned(true); 
    p.setRemoveAbandoned(true); 
    p.setName("jdbc/insurancePool"); 
    DataSource asyncDS = new DataSource(p); 

毎日を最初の数回の試行で接続タイムアウト例外が発生しました。なぜこれが起こっているのか分かりません。ファイアウォールはこれと何か関係がありますか?解決

+0

DataSourceは何ですか?どの接続プールを使用していますか? – user7294900

+0

org.apache.tomcat.jdbc.pool.DataSource – zDroid

+1

setIgnoreExceptionOnPreLoad(false)を追加しようとしています。質問にスタックトレースを追加する – user7294900

答えて

0

私は毎日の朝にMySqlで同じ問題を抱えていました。次に、この問題を解決するためにJDBC URLで使用できるautoReconnectパラメータが見つかりました。例えば

MYSQL_URL=jdbc:mysql://10.*.*.0:3306/ABC?autoReconnect=true 
0

問題は、Firewall Issues

このリンクが役に立ったと評価して私は、これは他の誰かを役に立てば幸い

0 ..にsqlnet.oraファイルのSQLNET.EXPIRE_TIMEパラメータを0に「minIdle」に変更しても設定します。