I simply execute the connect-code I have posted above in order to connect 
to the db.

In this code I do reassign a new value to the variable _gdbService so I am 
not quite sure whether _gdbService still points to the old db - I would 
rather say no.

What do you mean with "wait to continue" .. ? is there a certain time 
threshold to wait?

Even if I wait a few seconds (up to 1 minute) the result is the same ...



On Saturday, November 22, 2014 9:09:04 PM UTC+1, Michael Hunger wrote:
>
> I think your _gdbService variable still refers to the old db-instance and 
> was not set to the newly created instance.
>
> How do you wait to continue after you finished the external operation with 
> the db?
>
> Could that be?
>
> Michael
>
> On Sat, Nov 22, 2014 at 8:59 PM, Markus Gutmann <[email protected] 
> <javascript:>> wrote:
>
>> I do
>>
>> 1. connect
>> 2. disconnect
>> 3. connect
>>
>> as described in my original post.
>>
>> Then I execute the following method:
>>
>> try ( Transaction transaction = _gdbService.beginTx() ) {
>>  
>>  Iterable<Relationship> relationships = node.getRelationships(Direction.
>> OUTGOING);
>> ...
>>
>>
>> and the first line throws an exception with the following trace:
>>
>>  
>> org.neo4j.graphdb.DatabaseShutdownException: This database is shutdown.
>>  at org.neo4j.kernel.impl.core.ThreadToStatementContextBridge.
>> checkIfShutdown(ThreadToStatementContextBridge.java:80)
>>  at org.neo4j.kernel.impl.core.ThreadToStatementContextBridge.instance(
>> ThreadToStatementContextBridge.java:54)
>>  at org.neo4j.kernel.impl.core.NodeProxy.getRelationships(NodeProxy.java:
>> 140)
>>  at org.neo4j.kernel.impl.core.NodeProxy.getRelationships(NodeProxy.java:
>> 76)
>>  at thesisPrototype.cfgUtilizer.cfgdb.GraphDatabase.
>> findAdjacentReachableNode(GraphDatabase.java:336)
>>  at thesisPrototype.reconnaissanceCore.CFGDBTracer.hook(CFGDBTracer.java:
>> 92)
>>  at thesisPrototype.rmiBridge.TracerProxy.hook(TracerProxy.java:16)
>>  at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
>>  at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>>  at java.lang.reflect.Method.invoke(Unknown Source)
>>  at sun.rmi.server.UnicastServerRef.dispatch(Unknown Source)
>>  at sun.rmi.transport.Transport$1.run(Unknown Source)
>>  at sun.rmi.transport.Transport$1.run(Unknown Source)
>>  at java.security.AccessController.doPrivileged(Native Method)
>>  at sun.rmi.transport.Transport.serviceCall(Unknown Source)
>>  at sun.rmi.transport.tcp.TCPTransport.handleMessages(Unknown Source)
>>  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(Unknown 
>> Source)
>>  at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(Unknown 
>> Source)
>>  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
>>  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
>>  at java.lang.Thread.run(Unknown Source)
>>
>> Please, .. I need to fix that issue as soon as possible and I would be 
>> more than grateful for any help...
>>
>>
>> On Saturday, November 22, 2014 5:39:15 PM UTC+1, Markus Gutmann wrote:
>>>
>>> _gdbFactory = new GraphDatabaseFactory();
>>> _gdbService = _gdbFactory.newEmbeddedDatabase(_gdbPath);
>>> _gdbEngine = new ExecutionEngine(_gdbService);
>>> do some work
>>> disconnect from the gdbdo some workdisconnect from the gdb
>>>
>>> I am using a local Neo4j server instance and the Neo4j Java API to 
>>> access a graph-database (gdb).
>>>
>>> I simply want to achieve the following workflow:
>>>
>>>    1. connect to the local gdb from a Java program
>>>    
>>>    I do this using:
>>>    
>>>    _gdbFactory = new GraphDatabaseFactory();
>>>    _gdbService = _gdbFactory.newEmbeddedDatabase(_gdbPath);
>>>    _gdbEngine = new ExecutionEngine(_gdbService);
>>>    
>>>    2. then disconnect using.
>>>    
>>>    _gdbService.shutdown();
>>>    
>>>    3. connect with another process to the same gdb
>>>    
>>>    e.g. with the locally installed Neo4j program.
>>>    
>>>    4. disconnect from the gdb from this process
>>>    
>>>    e.g. by simply clicking the "stop" button at the Neo4j program.
>>>    
>>>    5. again connect to the gdb with the Java program using again the 
>>>    same code as in 1.
>>>    
>>> *Right now, point 5 is not working!*
>>>
>>> The use of
>>>
>>> GraphDatabaseService.shutdown().shutdown
>>>
>>> seems to finalize the gdb in some way that I cannot connect to it any 
>>> more.
>>>
>>> After reconnecting I get an Exception which tells me: *"This database 
>>> is shutdown!"*
>>>
>>> So, my question is:
>>>
>>> What is the common way to connect - disconnect - reconnect to a Neo4J 
>>> gdb ? Is there an alternative to the shutdown-method from above?
>>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Neo4j" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to