繁体   English   中英

使用getResourceAsStream在m子中注入文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM