Во-первых, у меня была проблема с неработающими транзакциями, поэтому я обновил конфигурацию от @EnableTransactionManagement
до @EnableTransactionManagement(proxyTargetClass=true)
, но после обновления эта ошибка запускается при запуске.AspectJ не работает после конфигурации транзакции весной загрузки
после комментируя весь код, связанный с AspectJ, то ошибка исчезает, и транзакция прекрасно работает, но я не хватаю свои функции AspectJ.
я пытался заменить @EnableTransactionManagement(proxyTargetClass=true)
на @EnableTransactionManagement(mode=AdviceMode.PROXY)
и @EnableTransactionManagement @EnableLoadTimeWeaving
, ни один из них не позволил мне использовать AspectJ, с помощью отладчика я могу видеть, что совет не выполняется вообще.
AppConfig.java
@EnableAutoConfiguration
@ComponentScan(basePackages = { "com.geopro" })
@EnableJpaRepositories(basePackages = { "com.geopro.repositories" })
@EntityScan(basePackages = { "com.geopro.entities" })
@EnableTransactionManagement(proxyTargetClass=true)//(mode=AdviceMode.ASPECTJ)//
public class AppConfig {
@Bean
public HibernateJpaSessionFactoryBean sessionFactory(EntityManagerFactory emf) {
HibernateJpaSessionFactoryBean factory = new HibernateJpaSessionFactoryBean();
factory.setEntityManagerFactory(emf);
return factory;
}
}
При использовании 'mode = ASPECTJ' вам нужно будет использовать компиляцию или переплетение во времени, чтобы ваши аспекты были сплетены. Таким образом, включение только aspectj немного сложнее, чем то, что у вас есть сейчас. –
теперь я использую '(proxyTargetClass = true)', я ищу AOP и транзакции любым способом. – geogeek
Я сделал обновление – geogeek