Я пытаюсь захватить BeforeSaveEvent при настройке Neo4J весной, так что я могу вызвать метод beforeSave()
в классе, который сохраняется. К сожалению, похоже, что он не регистрируется в качестве слушателя, так как выполняется не выполнение моих заявлений печати.Весенние данные Neo4J 4.0.0: BeforeSaveEvent не срабатывает?
Идеи оценены.
@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");
}
}
};
}
}
он работает отлично, но если я создал репозиторий интерфейс и вызвать метод сохранения в репозитории, тогда событие не будет срабатывать, как я бы хотел ожидать. – nils
Вопрос Jira был подан для этого: https://jira.spring.io/browse/DATAGRAPH-710. – tstorms
Прошло много времени на эту проблему ... какие-либо новости об изменении экономии срабатывания за счет репозиториев? Или использовать шаблон, чтобы продолжить? благодаря – troig