Ektorp executeBulk および ExecuteAllOrNothing 関数を使用して、Cloudant DB (CouchDB) 内のドキュメントのリストに対する一括更新の問題に直面しています。
の場合couchDbConnector.executeAllOrNothing(List<?> list)
、次のようなエラーが発生します。
org.ektorp.DbAccessException: 417:Expectation Failed
URI: /let-ut-app/_bulk_docs
Response Body:
null
at org.ektorp.http.StdResponseHandler.createDbAccessException(StdResponseHandler.java:44)
at org.ektorp.http.StdResponseHandler.error(StdResponseHandler.java:62)
at org.ektorp.http.RestTemplate.handleResponse(RestTemplate.java:98)
at org.ektorp.http.RestTemplate.post(RestTemplate.java:61)
at org.ektorp.impl.StdCouchDbConnector.executeBulk(StdCouchDbConnector.java:536)
at org.ektorp.impl.StdCouchDbConnector.executeAllOrNothing(StdCouchDbConnector.java:494)
同じロジックを変更して executeBulk を使用すると
couchDbConnector.executeBulk(List<?> list)
、エラー メッセージは次のようになります。
org.ektorp.DbAccessException: 500:Internal Server Error
URI: /let-ut-app/_bulk_docs
Response Body:
{
"error" : "case_clause",
"reason" : "{12,11}",
"stack" : [ "fabric_doc_update:handle_message/3", "rexi_utils:process_mailbox/6", "rexi_utils:recv/6", "fabric_doc_update:go/3", "fabric:update_docs/3", "chttpd_db:db_req/2", "chttpd:handle_request/1", "mochiweb_http:headers/5" ]
}
at org.ektorp.http.StdResponseHandler.createDbAccessException(StdResponseHandler.java:44)
at org.ektorp.http.StdResponseHandler.error(StdResponseHandler.java:62)
at org.ektorp.http.RestTemplate.handleResponse(RestTemplate.java:98)
at org.ektorp.http.RestTemplate.post(RestTemplate.java:61)
at org.ektorp.impl.StdCouchDbConnector.executeBulk(StdCouchDbConnector.java:536)
at org.ektorp.impl.StdCouchDbConnector.executeBulk(StdCouchDbConnector.java:498)
この問題に遭遇したことがある方がいらっしゃいましたら、どのように解決したか教えてください。
あなたの助けに感謝。
どうもありがとう!