私はかなり長い間Velocityを使用していて、問題はありませんでした。しかし、最近、問題が発生しました。
私はvelocityを使用してHTMLコードを生成し、生成されたHTMLを電子メールとして送信しています。このプロセスは50%の時間で機能します。失敗すると、このエラーが発生します。
Caused by: java.lang.NullPointerException
at java.io.Reader.<init>(Reader.java:61)
at java.io.InputStreamReader.<init>(InputStreamReader.java:80)
at org.apache.commons.collections.ExtendedProperties.load(ExtendedProperties.java:542)
at org.apache.commons.collections.ExtendedProperties.load(ExtendedProperties.java:519)
at org.apache.velocity.runtime.RuntimeInstance.setDefaultProperties(RuntimeInstance.java:397)
at org.apache.velocity.runtime.RuntimeInstance.initializeProperties(RuntimeInstance.java:570)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:250)
at org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:590)
at org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:136)
at testapp.webapp.utility.velocity.VelocitySettings.<init>(VelocitySettings.java:48)
... 26 more
私のコードは次のとおりです。
VelocityEngine ve = null;
try
{
Properties props = new Properties();
props.put("resource.loader", "file");
props.put("file.resource.loader.class", "org.apache.velocity.runtime.resource.loader.FileResourceLoader");
props.put("file.resource.loader.path", Settings.getVelocityTemplatesPath());
props.put("file.resource.loader.cache", "true");
props.put("runtime.log.logsystem.class","org.apache.velocity.runtime.log.NullLogSystem");
ve = new VelocityEngine();
ve.init(props); //THE ERROR IS TAKING PLACE HERE
}
catch (Exception e)
{
throw new Exception ("Error while instantiating the velocity engine", e);
}
なぜそれがランダムに起こっているのか、私はまだ説明できません。私はこれについて少し調べましたが、まだ手がかりを見つけることができませんでした。誰かいますか?