Spring Data Neo4J 4.0.0: BeforeSaveEvent no dispara?
Estoy tratando de capturar el BeforeSaveEvent cuando configuro Neo4J en Spring, para poder llamar a un métodobeforeSave()
en la clase que se está guardando. Desafortunadamente, parece que no está registrado como un oyente ya que no se están ejecutando mis declaraciones impresas.
Ideas apreciadas.
@Configuration
@EnableNeo4jRepositories(basePackages = "com.noxgroup.nitro")
@EnableTransactionManagement
public class NitroNeo4jConfiguration extends Neo4jConfiguration {
@Bean
public Neo4jServer neo4jServer () {
System.setProperty("username", "neo4j");
System.setProperty("password", "*************");
return new RemoteServer("http://localhost:7474");
}
@Bean
public SessionFactory getSessionFactory() {
return new SessionFactory("com.noxgroup.nitro.domain");
}
@Bean
ApplicationListener<BeforeSaveEvent> beforeSaveEventApplicationListener() {
return new ApplicationListener<BeforeSaveEvent>() {
@Override
public void onApplicationEvent(BeforeSaveEvent event) {
System.out.println("Listening to event");
Object entity = event.getEntity();
if (entity instanceof NitroNode) {
((NitroNode)entity).beforeSave();
} else {
System.out.println("Not picking it up");
}
}
};
}
}