2016-10-29 6 views
0

Spring Batchに奇妙な問題があります。私は同じテーブルに読者と作家を設定するプロジェクトを持っています。リーダはselectを実行し、ライタは読み取られたローの更新を実行します。列の1つをインデックスとして使用して、一連の行を選択できるようにします。Oracleテーブルの更新中にソケットタイムアウトが発生する

リーダー:fromIdインデックス< =:TOID

ライタ:(JdbcBatchItemWriterを使用して(JdbcPagingItemReaderを使用して、のFetchSize = 5000、commitinteval = 100)は、テーブルここでインデックス> =からC1、C2、C3、インデックスを選択 ) 更新テーブルセットc1:= val、c2:= val、c3:= valここでindex =:インデックス

私はパーティショナーを使用しており、fromIdとtoIdをパーティショナーリスナーに挿入しています。

少数の行に対しては正常に動作するようですが、100を超えると、ライターでソケットタイムアウトが発生します。

必要に応じて完全なコードを含めることができますが、これはSpringの動作に関する基本的な誤解です。

事前に感謝します。

+0

値とコネクタBeanを設定することで解決しますが、スタックトレースとコードを入れてもらえますか? –

+0

チャンクはどのくらい掛かっていますか?一定期間後にファイアウォールが永続的接続を強制終了するのは一般的です。チャンクの処理中に、ファイアウォールがデータベース接続を強制終了しないようにすることができます。 –

答えて

0

はこれを答えるのを忘れて - 問題は、私の春の設定に関連していたようです - 正しいDBプールが

関連する問題