2011-06-20 24 views
4

非常に負荷の高いアプリケーションを開発しています。 、私は自分のアプリケーションを実行します。接続を開くことができません

  1. JPA/Hibernateはされ

私の問題を接続プーリングなどpersistense層

  • 春と春ダオ
  • C3P0など: は、私は私のappliationで次のテクノロジを使用しました要求の数が増えると例外がスローされます "Cannt open connection" 私はoracle maxセッションを増やしますが、私の問題は解決しません。 私はC3p0の文書私の問題は解決しません。

    はあなたのDataSourceのSpring構成を投稿することが可能ですあなたの注意

  • +0

    私はこの質問を理解するのに苦労しています。それを編集し、重要な情報(接続プール設定、Oracleプロファイルの制限事項など)をすべて追加して、十分な明瞭性が得られるようにしてください。 –

    +0

    マイC3P0設定は:\t \t initialPoolSizeもちろん= 5 minPoolSize = 5 maxPoolSize = 100 MaxIdleTimeエレメン= 30000 unreturnedConnectionTimeout = 90 propertyCycle = 60 acquireRetryDelay = 1000 maxConnectionAge = 0 acquireIncrement = 1 acquireRetryAttempts = 0 私はC3p0をいくつかの値と他のオプションでテストしますが、変更はしません。 – MJM

    +0

    完全なスタックトレースを投稿できますか?何らかの理由で接続がリークしている(Hibernateと思われない)か、何か他の理由で突然データベースにアクセスできない可能性があります(何かがシャットダウンしている可能性があります) – Pace

    答えて

    3

    Oracleで最大セッション数を増やしましたが、接続プールの最大サイズは増やしていませんでした。あなたのプールが使い果たされたという例外はありません。接続を保持しているものを見つけ、早く解放するか、プール内の最大アクティブ接続の数を増やしてください。

    0

    いただきありがとうございます。

    <bean id="mySampleDao" class="com.example.dao.MySampleDao"> 
        <property name="dataSource" ref="dataSource" /> 
    </bean> 
    

    が、これはあなたが持っているものです:データソースが参照によって渡されるように構成別のBeanで

    <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> 
        <property name="driverClass" value="oracle.jdbc.driver.OracleDriver"/> 
        <property name="jdbcUrl" value="${jdbc.connection.url}"/> 
        <property name="user" value="${jdbc.connection.username}"/> 
        <property name="password" value="${jdbc.connection.password}"/> 
        <property name="initialPoolSize" value="5"/> 
        <property name="minPoolSize" value="5"/> 
        <property name="maxPoolSize" value="100"/> 
    </bean> 
    

    :私のような何かを期待しますか?

    使用しているOracleのバージョンはどれですか?

    +0

    はい、上記の設定があります。私は 'Oracle 11g'を使用しています。 – MJM

    関連する問題