[英]Injecting file in mule using getResourceAsStream
我正在使用Mule 3.4。 我在/ src / main / resource / request中保留了一个xml文件,并使用initialize方法和资源作为流,试图从classpath加载文件并获取Null Pointer Exception
我的配置如下spring.xml
<bean id="initSoapFault" class="org.hhmi.transformer.SOAPResponseTransformer" init-method="initialize" />
我的流程正在关注
<spring:beans>
<spring:import resource="classpath:conf/spring.xml"/>
</spring:beans>
我的转换器类是下面的代码片段
public void initialize() throws IOException {
try {
inputStream =Thread.currentThread().getContextClassLoader().getResourceAsStream("classpath:request/soapFault.xml");
docXmlResponse = IOUtils.toString(inputStream);
} finally {
IOUtils.closeQuietly(inputStream);
} }
问题很可能是在调用getResourceAsStream()
时使用了“ classpath:
”前缀。 该前缀只能与Spring ResourceLoader
结合使用,而不能与标准Java classloader
。
IT在工作。 我正在编写代码段,这可能会对其他人有所帮助
让豆子进入变压器。 我使用以下
private volatile ClassPathXmlApplicationContext context;
public SOAPResponseTransformer() {
context = new ClassPathXmlApplicationContext(getConfigResources());
}
protected String getConfigResources()
{
return "conf/spring.xml";
}
然后在任何需要的地方打电话
ResourceInjection injection = (ResourceInjection) context.getBean("initSoapFault");
injection.getter Method
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.