2016-09-10 5 views
0

Из-за встроенных задач Борьбы Дерби с несколькими переходами мне нужно изменить распространение свойств @Transactional на основе профиля, который было запущено.Свойство условного распространения Spring @Transactional

Пример: Когда приложение запускается с профиля для запуска автоматических тестов, @Transactional настроен с распространением по умолчанию (Propagation.REQUIRED). Когда загружается другой профиль, распространение должно указывать на Propagation.REQUIRES_NEW.

Как я могу достичь этого в Java Config? В xml config я уже делал это в прошлом через aop: pointcut/aop: advisor и tx: advice, но я не могу найти способ этого в Java Config.

+0

В аннотации '@ Transactional' есть некоторые настройки/свойства, которые вы можете установить при ее использовании. Это путь. Или вы пытаетесь сделать это в «глобальной моде»? –

+0

Да, я знаю, но как я могу установить эти свойства на основе профиля в Java Config? – voliveira89

ответ

0

Я нашел возможное (уродливое) решение. Используя аннотацию @ImportResource, я могу импортировать xml-файл в файл конфигурации root java и в этом файле выполнить конфигурацию, которую я хочу получить через AOP.

@Configuration 
@ImportResource("classpath:/spring-dataaccess-aop-config.xml") 
@Import(...) 
public class RootConfig {} 
Смежные вопросы