0

接続プールを使用して stardog 接続にステートメントを追加しようとしています。なんらかの理由で、データの取り込みの途中で、コミットしようとすると ClosedChannelConnectionException が発生します。

// This all runs in a loop
while ... {
  def conn = connPool.obtain()
  conn.begin()

  // Add some statements here
  conn.add()...

  conn.commit() // This line throws the exception

  connPool.release(conn)
}

例外は次のとおりです。

com.complexible.stardog.StardogException: java.nio.channels.ClosedChannelException

例外の後、stardog サーバーはクラッシュしますが、ログにエラーはありません。サーバーを再起動すると、使用していたデータベースがオフラインになり、使用するにはデータベースを再作成する必要があります。

Stardog 2.1 Community Edition を使用しています。

誰でもこれを手伝ってもらえますか?ありがとう!

4

2 に答える 2

0

これChannelClosedExceptionはちょっとしたニシンです。サーバーがダウンしている場合、それがチャネルが閉じられている理由です。

データベースを再作成するのではなく、単純にオンラインに戻さないのはなぜですか? 毎回同じデータでエラーが発生しますか?

問題を再現する完全な例とともに、これを Stardog メーリング リストに投稿することをお勧めします。

于 2014-05-09T11:55:31.990 に答える
0

インメモリ データベースを実行していましたが、マシンのメモリが不足したためにサーバーがクラッシュしていました。

于 2014-05-09T20:28:29.947 に答える