为什么 getConfiguration 偶尔会抛出 File cannot be null?

这似乎是一个简单的问题(如果是这样的话,请原谅),但在网上搜索了 20 分钟后,我没有找到任何合理的答案。


我有几个 cron 作业要通过 执行QuartzRunner,让我们暂时调用第一个FooBean和第二个BarBean。FooBean每天 00:00 运行 6 (!) 小时,有时无法正确执行。仔细研究日志后发现,FooBeanfails to execute 就是执行BarBean失败。BarBean每天 03:00 执行,有时会抛出:


 22866 java.lang.NullPointerException: File cannot be <null>

 22867     at org.jconfig.FileWatcher.<init>(FileWatcher.java:54)

 22868     at org.jconfig.handler.AbstractHandler.addFileListener(AbstractHandler.java:39)

 22869     at org.jconfig.ConfigurationManager.addFileListener(ConfigurationManager.java:180)

 22870     at org.jconfig.ConfigurationManager.getConfiguration(ConfigurationManager.java:122)

有时它不会抛出它然后FooBean正确执行。如果BarBean失败,则日志会反复显示一些事务死锁问题,持续十分钟,然后 JDBC 连接失败一次又一次重复,持续将近三个小时。我不明白涉及什么文件。抛出错误的行如下所示:


    Configuration config = ConfigurationManager.getConfiguration("inventory");

org.jconfig这里涉及到命名空间。直觉上这似乎是配置错误,但我没有找到任何可以解释该问题的资源。


泛舟湖上清波郎朗
浏览 96回答 1
1回答

慕莱坞森

ConfigurationManagers getConfiguration-Method 尝试从您的类路径加载配置文件。该函数将给定名称与“_config.xml”连接起来。在您的情况下,这将是“inventory_config.xml”,该文件应该在您的类路径(主/资源)上可用,因为 ConfigurationManager 试图从那里加载它。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java