Я создаю модуль ServiceMix, который состоит из маршрута Camel.
В моем файле beans.xml у меня есть:
<osgix:cm-properties id="companyProps"
persistent-id="com.company.integration">
</osgix:cm-properties>
<ctx:property-placeholder location="
file:${karaf.base}/etc/com.company.integration.cfg
" />
Это означает, что я могу определять другие элементы, используя свойства изфайл, например:
<http-conf:conduit name="*.http-conduit">
<http-conf:authorization>
<security:UserName>${username}</security:UserName>
<security:Password>${password}</security:Password>
</http-conf:authorization>
</http-conf:conduit>
Я также могу получить доступ к свойствам в моих классах Java, если я создаю бин и внедряю его:
<bean id="myConfig" class="com.company.integration.MyConfig">
<osgix:managed-properties persistent-id="com.company.integration" />
</bean>
Проблема в том, что я пишу свои модульные тесты,В настоящее время я использую копию моего beans.xml с тестовыми значениями, но, конечно, я бы хотел использовать настоящий beans.xml и предоставить значения для свойств.
public class myTest extends CamelSpringTestSupport
{
@Override
protected AbstractXmlApplicationContext createApplicationContext()
{
return new ClassPathXmlApplicationContext(new String[] {
"/META-INF/spring/beans.xml"
, "/META-INF/spring/test.xml"
});
}
}
Я хотел бы получитьизбавьтесь от test.xml и предпочтительно загрузите test-properties из файла свойств.Я видел некоторые ссылки на PropertyComponent, но я не могу заставить это работать: - (