如何为JNDI InitialContext的PROVIDER_URL指定驱动器号(windows)

我正在使用com.sun.jndi.fscontext.RefFSContextFactory文件基于JNDI上下文工厂。 它似乎采取的Java应用程序启动的地方的驱动器。

 Hashtable properties = new Hashtable(2); properties.put(Context.PROVIDER_URL,"file:///tmp/jms/mycontext"); properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory"); InitialContext ctx = new InitialContext(properties); 

如何指定驱动器盘符,如d:/tmp/jms/mycontext ? 使用file://d:/tmp/jms/mycontext似乎仍然会到我的系统上的c盘

经过一些故障排除和调试我自己,我明白了。 在驱动器号之前使用额外的\来解决它

 properties.put(Context.PROVIDER_URL,"file://\\d:\\tmp\\mycontext"); 

像这样:

"file:D:\\tmp\\jms\\mycontext"

在developerWorks的教程中有一些例子可能是有用的:
IBM WebSphere开发者技术期刊:在WebSphere MQ V6.0上运行独立的Java应用程序