Можно ли изменить файл конфигурации XML с помощью Pax Exam?

Я хочу запустить несколько экземпляров Fuse с помощью Pax Exam на одном компьютере, и я хочу перенастроить все используемые порты, чтобы это стало возможным. К сожалению, один порт определен в etc / jetty.xml. Есть ли способ как-то изменить это? Я вижу, что есть набор параметров под названием KarafDistributionOption.editConfigurationFile*, но они работают только с файлами свойств.

  • Есть ли какая-нибудь реализация Option?
  • Есть ли какой-нибудь перехватчик событий вроде «вот установка предохранителя, делайте что хотите, прежде чем я начну»?

person Gábor Lipták    schedule 05.08.2014    source источник


Ответы (1)


Хм. Понятно:

KarafDistributionOption.replaceConfigurationFile(configurationFilePath, source)

Итак, что я делаю:

  • Я сохраняю исходный XML в банку модульного теста как ресурс
  • на этапе настройки меняю порт
  • с помощью приведенного выше варианта я заменяю файл конфигурации в целевом предохранителе.
person Gábor Lipták    schedule 05.08.2014
comment
Воспользуйтесь ссылкой редактирования вашего вопроса, чтобы добавить дополнительную информацию. Кнопка «Ответить» должна использоваться только для полных ответов на вопрос. - person TimSPQR; 05.08.2014
comment
Доделал ответ. - person Gábor Lipták; 05.08.2014
comment
Стоит отметить, что источником файла может быть локальный проект. KarafDistributionOption.replaceConfigurationFile("etc/my.props.cfg", new File("src/test/resources/my.props.cfg")); - person Alessandro Da Rugna; 08.03.2016