Registering Transaction Event Handlers in neo4j

1.1k views Asked by At

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)

1

There are 1 answers

2
Peter Neubauer On BEST ANSWER

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