【发布时间】:2014-03-28 10:35:26
【问题描述】:
Following is the java program which connects to NEO4J . it is not properly conneting executing cypher queries. Your help at the earliest表示赞赏。
import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import javax.xml.soap.Node; import org.neo4j.graphdb.PropertyContainer; import org.neo4j.graphdb.Transaction; import org.apache.struts2.interceptor.SessionAware; import org.neo4j.cypher.CypherParser; import org.neo4j.cypher.ExecutionEngine; import org.neo4j.cypher.javacompat.ExecutionResult; import org.neo4j.graphdb.GraphDatabaseService; import org.neo4j.graphdb.factory.GraphDatabaseFactory; import org.neo4j.kernel.EmbeddedGraphDatabase; import com.opensymphony.xwork2.ActionSupport; public class arch extends ActionSupport implements SessionAware { String S; private static final String DB_PATH = "/home/mkgs/Desktop/placement/"; GraphDatabaseService graphDb; private static final long serialVersionUID = 1L; private String pwd; public String getPwd() { return pwd; } public void setPwd(String pwd) { this.pwd = pwd; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } private String username; Map session; public String save() throws Exception { System.out.println("inside save"); System.out.println("username:"+getUsername()); System.out.println("pwd:"+getPwd()); graphDb = new GraphDatabaseFactory().newEmbeddedDatabase(DB_PATH); Transaction transaction = (Transaction) graphDb.beginTx(); try { ExecutionEngine engine = new ExecutionEngine(graphDb, null); ExecutionResult result = (ExecutionResult) engine.execute("START n=node(*) MATCH n-[r]-m RETURN type(r),计数()按计数排序() 描述"); System.out.println(结果);
Iterator<Node> columnAs = result.columnAs("n"); while(columnAs.hasNext()) { Node n = (Node)columnAs.next(); for (String key : ((PropertyContainer) n).getPropertyKeys()) { System.out.println("{ " + key + " : " + ((PropertyContainer) n).getProperty(key)+ " } "); } } } finally { ((org.neo4j.graphdb.Transaction) transaction).finish(); } return "l"; } @Override public void setSession(Map arg0) { // TODO Auto-generated method stub } } This is im getting during execution of above code using struts....... Apr 02, 2014 5:53:27 PM org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on thejava.library.path: /usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/server:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386:/usr/lib/jvm /java-7-openjdk-i386/jre/../lib/i386:/usr/lib/jvm/java-7-openjdk-i386/jre/lib/i386/client:/usr/lib/jvm/java- 7-openjdk-i386/jre/lib/i386::/usr/java/packages/lib/i386:/usr/lib/i386-linux-gnu/jni:/lib/i386-linux-gnu:/usr/lib /i386-linux-gnu:/usr/lib/jni:/lib:/usr/lib 2014 年 4 月 2 日下午 5:53:27 org.apache.tomcat.util.digester.SetPropertiesRule 开始 警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context} 将属性“源”设置为 'org.eclipse.jst.j2ee.server:placementportal' 没有找到匹配的 财产。 2014 年 4 月 2 日下午 5:53:27 org.apache.coyote.http11.Http11Protocol 初始化 信息:在 http-8080 上初始化 Coyote HTTP/1.1 2014 年 4 月 2 日下午 5:53:27 org.apache.catalina.startup.Catalina 加载 INFO:初始化在 645 毫秒内处理 2014 年 4 月 2 日下午 5:53:27 org.apache.catalina.core.StandardService 开始 信息:启动服务 Catalina 2014 年 4 月 2 日下午 5:53:27 org.apache.catalina.core.StandardEngine 开始 信息:启动 Servlet 引擎:Apache Tomcat/6.0.39 2014 年 4 月 2 日下午 5:53:27 org.apache.catalina.loader.WebappClassLoader validateJarFile 信息:validateJarFile(/home/mkgs/workspace/proj/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/placementportal/WEB-INF/lib/servlet-api.jar) - jar 未加载。请参阅 Servlet 规范 2.3,第 9.7.2 节。违规类:javax/servlet/Servlet.class 2014 年 4 月 2 日下午 5:53:29 org.apache.coyote.http11.Http11协议开始 信息:在 http-8080 上启动 Coyote HTTP/1.1 2014 年 4 月 2 日下午 5:53:29 org.apache.jk.common.ChannelSocket 初始化 信息:JK:ajp13 监听 /0.0.0.0:8009 2014 年 4 月 2 日下午 5:53:29 org.apache.jk.server.JkMain 开始 信息:Jk 运行 ID=0 时间=0/29 配置=空 2014 年 4 月 2 日下午 5:53:29 org.apache.catalina.startup.Catalina 开始 INFO:服务器在 1958 毫秒内启动
【问题讨论】:
-
如果您需要有关异常的帮助,那么您确实需要在您的问题中提供异常错误消息和堆栈跟踪。
-
那么,能否请您提供异常错误消息和堆栈跟踪?
-
也只创建一次图形数据库和执行引擎,并保留它们,否则你不会使用缓存。仍然确保在应用程序结束时正确关闭它