Saurabh Deshpande
Saurabh Deshpande

Reputation: 1221

Neo4J Web Application

I am trying to build a web application on top of Neo4J - 1.9.2 I have written a servlet program which will connect to neo4j and will display employee names in HTML - select box. From select box user will click one name and I want to use that selected value for further retrieval by passing it to the CQL - where

Everything goes fine upto clicking a value from select box but once we click one of the names and submit, it shows null and throws errors.

My servlet code is -

public void service(HttpServletRequest request, HttpServletResponse res) throws     ServletException, IOException {

    try {

        PrintWriter out = res.getWriter();
        res.setContentType("text/html");
        String[] collectNode;
        out.println("<center>Welcome</center>");
        NeoWrapper nw = new NeoWrapper();
        nw.GetNeoData();
        collectNode=nw.getNodes();
        out.println("<form action=\"NeoServlet\" method=\"POST\">");
        out.println("<select name=\"nodes\">");
        for(int i=0;i<collectNode.length;i++)
        {
            out.println("<option value='" + collectNode[i] + "'>"+collectNode[i]+"</option>");
        }
        out.println("</select>");
        out.println("<button type=\"submit\">Submit</button>");
        out.println("</form>");
        String element = request.getParameter("nodes");
        out.println(element);

    }
    catch(Exception te) {
        te.printStackTrace();
    }
}

Here out.println(element) shows null and more errors which it shows are as follows :

java.lang.RuntimeException: org.neo4j.kernel.lifecycle.LifecycleException: Component 'org.neo4j.kernel.StoreLockerLifecycleAdapter@6fa37fac' was successfully initialized, but failed to start. Please see attached cause exception.
at org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:281)
at org.neo4j.kernel.EmbeddedGraphDatabase.<init>(EmbeddedGraphDatabase.java:106)
at org.neo4j.graphdb.factory.GraphDatabaseFactory$1.newDatabase(GraphDatabaseFactory.java:88)
at org.neo4j.graphdb.factory.GraphDatabaseBuilder.newGraphDatabase(GraphDatabaseBuilder.java:207)
at org.neo4j.graphdb.factory.GraphDatabaseFactory.newEmbeddedDatabase(GraphDatabaseFactory.java:69)
at com.sampleServlet.CaseNeo4J.connect(CaseNeo4J.java:53)
at com.sampleServlet.NeoWrapper.GetNeoData(NeoWrapper.java:9)
at com.sampleServlet.NeoServlet.service(NeoServlet.java:23)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at    org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.jav     a:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:     589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: org.neo4j.kernel.lifecycle.LifecycleException: Component       'org.neo4j.kernel.StoreLockerLifecycleAdapter@6fa37fac' was successfully initialized, but      failed to start. Please see attached cause exception.
at      org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:497)
at org.neo4j.kernel.lifecycle.LifeSupport.start(LifeSupport.java:104)
at    org.neo4j.kernel.InternalAbstractGraphDatabase.run(InternalAbstractGraphDatabase.java:259)
... 24 more
Caused by: org.neo4j.kernel.StoreLockException: Could not create lock file
at org.neo4j.kernel.StoreLocker.checkLock(StoreLocker.java:74)
at      org.neo4j.kernel.StoreLockerLifecycleAdapter.start(StoreLockerLifecycleAdapter.java:40)
at     org.neo4j.kernel.lifecycle.LifeSupport$LifecycleInstance.start(LifeSupport.java:491)
... 26 more
java.lang.NullPointerException
at com.sampleServlet.CaseNeo4J.storeNodes(CaseNeo4J.java:86)
at com.sampleServlet.NeoWrapper.getNodes(NeoWrapper.java:18)
at com.sampleServlet.NeoServlet.service(NeoServlet.java:24)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at     org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.jav    a:305)
at      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at     org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at     org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
java.lang.NullPointerException
at com.sampleServlet.NeoServlet.service(NeoServlet.java:27)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at      org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.jav     a:305)
at      org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:     589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)**

Since I am very new to neo4j dont have much idea.. What is this error is all about?

Upvotes: 1

Views: 491

Answers (2)

Saurabh Deshpande
Saurabh Deshpande

Reputation: 1221

Connection to Neo4j should be disconnected i.e. shutDown() properly. It will work.

Upvotes: 1

PhilBa
PhilBa

Reputation: 732

Caused by: org.neo4j.kernel.StoreLockException: Could not create lock file

says that there is already another instance of neo4j running. Make sure that you dont try to start a new server instance for every thread, and that you dont have any tools (ie. neoclipse) running which are accessing your DB.

EDIT: Using servlets to output html normally isnt the best idea.

Upvotes: 1

Related Questions