如何在Storm jar中加载jndi绑定?

时间:2013-08-13 16:57:12

标签: java jndi apache-storm initial-context

我们有一个项目正在使用Storm,因此我们的代码必须打包在jar中。我们之前使用com.sun.jndi.fscontext.RefFSContextFactory作为InitialContextFactory实现从jndicontext中的系统配置目录中的文件加载classpath绑定(工作正常)。但是,当尝试使用此工厂从jar中加载上下文时,我们得到以下结果:

javax.naming.InvalidNameException: unknown protocol: jar
     at com.sun.jndi.fscontext.FScontextFactory.getFileNameFromURLSTring(FSContextFactory.java:139)
     at com.sun.jndi.fscontext.RefFSContextFactory.createContext(RefFSContextFactory.java:31)

这是由于工厂尝试从以下URL加载jdni上下文:

“jar:file:/mount/storm-dir/data/storm.jar!/ jndicontext”

这是一个有效的网址,但工厂不了解如何打开jar。是否有javax.naming.spi.InitialContextFactory的实现?或者,有没有办法解决这个问题,并为Storm的classpath添加一个配置目录?

0 个答案:

没有答案