标签:java junit spring cxf apache-camel
我正在使用Camel 2.15.2,Spring 4.1.7.RELEASE,CXF 3.0.4,Junit 4.12.
当我运行以下测试时,加载Spring应用程序上下文失败:
@RunWith(CamelSpringJUnit4ClassRunner.class)
@BootstrapWith(CamelTestContextBootstrapper.class)
@ContextConfiguration(locations=
{
"classpath:com/me/someFile.xml",
"classpath:META-INF/spring/someFile.xml"
})
public class MyRouteTest extends CamelTestSupport
{
//...
}
以下是我得到的例外情况:
Caused by: java.lang.IllegalArgumentException: Cannot find RouteContext with id someRoute
at org.apache.camel.model.RouteContextRefDefinitionHelper.lookupRoutes(RouteContextRefDefinitionHelper.java:65)
但是当我运行此测试时,Spring应用程序上下文成功加载:
public class MyRouteTest extends CamelSpringTestSupport
{
@Override
protected AbstractApplicationContext createApplicationContext()
{
return new ClassPathXmlApplicationContext(new String[]
{
"classpath:com/me/someFile.xml",
"classpath:META-INF/spring/someFile.xml"
});
}
//...
}
为什么在第一种情况下会失败?
这两种方式加载Spring应用程序上下文不等同吗?
解决方法:
我认为答案与这个问题相同. AbstractApplicationContext versus ApplicationContext如果没有看到实际的上下文文件,很难确切地看出@ContextConfiguration注释所需的更严格的ApplicationContext实现失败的原因.希望这可以帮助!
标签:java,junit,spring,cxf,apache-camel 来源: https://codeday.me/bug/20190711/1433967.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。