临时视图在java中使用CouchDb4J API无法正常工作

时间:2012-05-02 13:29:24

标签: java nosql couchdb

import com.fourspaces.couchdb.Session;
import com.fourspaces.couchdb.Database;
import com.fourspaces.couchdb.Document;
import com.fourspaces.couchdb.View;
import com.fourspaces.couchdb.ViewResults;
import com.fourspaces.couchdb.CouchResponse;
import com.fourspaces.couchdb.AdHocView;

public class temporaryViews 
{
public static void main(String[] args) throws Exception 
{

    Session s = new Session("localhost",5984,"monil","monil",false,false);
    Database db = s.getDatabase("foodb");

// Running a view
       ViewResults resultAdHoc = db.adhoc("function (doc) {emit(null, doc);}");
       System.out.println(resultAdHoc.getResults().size());
  }
}

我尝试使用上面的代码创建临时视图,我正在

Exception in thread "main" java.lang.NullPointerException
at temporaryViews.main(temporaryViews.java:53)

请建议解决方案

先谢谢

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。试试EKTROP api可以帮到你。

答案 1 :(得分:1)

我在这里面临同样的问题(不能创建视图)。临时解决方法是更新服务器配置。在couch.ini文件中修改authentication_handlers:

[httpd]
port=8008
authentication_handlers = {couch_httpd_oauth, oauth_authentication_handler},
    {couch_httpd_auth, null_authentication_handler},
    {couch_httpd_auth, cookie_authentication_handler}

重要的是 null_authentication_handler ,但要注意:正如https://wiki.apache.org/couchdb/Security_Features_Overview#Authentication所述,这是出于开发目的。

希望有人能找到真正的解决方案(适用于生产环境)。