Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Stardog Connection.commit()引发java.nio.channels.ClosedChannelException_Java_Stardog - Fatal编程技术网

Stardog Connection.commit()引发java.nio.channels.ClosedChannelException

Stardog Connection.commit()引发java.nio.channels.ClosedChannelException,java,stardog,Java,Stardog,我正在尝试使用连接池向stardog连接添加语句。由于某种原因,在数据摄取的中途,当我尝试提交时,我得到了ClosedChannel ConnectionException // This all runs in a loop while ... { def conn = connPool.obtain() conn.begin() // Add some statements here conn.add()... conn.commit() // This line t

我正在尝试使用连接池向stardog连接添加语句。由于某种原因,在数据摄取的中途,当我尝试提交时,我得到了ClosedChannel ConnectionException

// 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服务器崩溃,但日志中没有错误。当我重新启动服务器时,我使用的数据库处于脱机状态,我必须重新创建它才能使用它

我正在使用Stardog2.1社区版


有人能帮忙吗?谢谢

ChannelClosedException有点像是在转移视线;如果服务器宕机,这就是通道关闭的原因

为什么不干脆让数据库重新联机,而不是重新创建它呢?是否每次都使用相同的数据发生错误


我建议你在Stardog邮件列表上发布这篇文章,并附上一个完整的例子来重现这个问题

我正在运行内存中的数据库,服务器正在崩溃,因为机器内存不足。

stardog中有Bug。该异常表示此JVM中的某些内容已关闭通道。ChannelClosedException表示此JVM已关闭通道。不是同行。这可能表示服务器正在“停机”,也可能不停机;我正在告诉OP为什么会这样。我确实试着让数据库恢复在线,但我在这方面遇到了问题。当我重新启动服务器时,日志显示:
严重:数据库测试将不可用,因为初始化数据库时出错:null
。当我运行
stardog admin db list
时,测试确实存在。当我运行
stardog admin db test online
时,它会显示
数据库测试已经在线了
。当我转到localhost:5820/test时,它说数据库不在线。除了删除并重新创建,还有其他恢复方法吗?谢谢我建议您将此信息发布到Stardog邮件列表中,对SO的评论并不是解决问题的有效方法。