Question

I'm currently using Spring Data with Neo4j and have subclassed the SpringRestGraphDatabase to allow the registration of specific transaction event handlers.

I call the registerTransactionEventHandler method to do so. Unfortunately I always get the following exception:

Caused by: java.lang.UnsupportedOperationException: null
    at org.neo4j.rest.graphdb.AbstractRemoteDatabase.registerTransactionEventHandler(AbstractRemoteDatabase.java:52) ~[neo4j-rest-graphdb-1.6.jar:1.6]
    at org.neo4j.rest.graphdb.RestGraphDatabase.registerTransactionEventHandler(RestGraphDatabase.java:28) ~[neo4j-rest-graphdb-1.6.jar:1.6]

By looking closely at the AbstractRemote I see that it always throws an exception:

public <T> TransactionEventHandler<T> registerTransactionEventHandler( TransactionEventHandler<T> tTransactionEventHandler ) {
    throw new UnsupportedOperationException();
}

The RestGraphDatabase doesn't provide an implementation for the register method hence the exception. I'm not sure what alternatives to use, especially as I'm extending SpringRestGraphDatabase.

Is there a cleaner alternative?

(I'm using v2.1.0.M1)

Was it helpful?

Solution

Yeah, the exposure of these handlers would be very costly over the network. Depending on what you want to do, I would suggest writing a custom plugin to expose your operations and register what you need via a REST endpoint, see http://docs.neo4j.org/chunked/snapshot/server-plugins.html

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top