class.getClassLoader()。getResourceAsStream有时会返回null

时间:2019-08-24 16:56:48

标签: java nullpointerexception classloader

部署在prod上的我们的应用程序之一,其中的脚本“ downloadFileAsCsv-spark-1.scala”之一作为jar的一部分。

下面的代码是从经常创建的对象的构造函数中调用的。

IOUtils.toString(XYZ.class.getClassLoader().getResourceAsStream("downloadFileAsCsv-spark-1.scala"))

现在已经注意到,有时在运行几天后,上述代码开始针对先前以所需方式运行的相同代码路径引发NullPointerException。

Caused by: java.lang.NullPointerException
    at java.io.Reader.<init>(Reader.java:78)
    at java.io.InputStreamReader.<init>(InputStreamReader.java:113)
    at org.apache.commons.io.IOUtils.copy(IOUtils.java:1906)
    at org.apache.commons.io.IOUtils.toString(IOUtils.java:778)
    at org.apache.commons.io.IOUtils.toString(IOUtils.java:759)
    at abc.XYZ.<init>(XYZ.java:99

但是,一旦一次收到NullPointer,应用程序中的此行为就会保持一致,直到重新启动为止。

任何可能导致上述陈述的指针。

P.S。由于模板是常量,因此我们可以一次加载相同的内存,但是有点好奇地知道上面可能会导致什么。

0 个答案:

没有答案
相关问题