前段时间看到了别人使用JMS 做程序的代码,自己也想亲自做实验,随即下载了代码,然后RUN,出现了NoInitialContextException ,觉得好奇怪,然后GOOGLE 了一堆URL,没有找到答案。问题就先搁置在了一边。后来从网上下载了 SUN APPLICATION SERVER ,安装后,又出现了配置JNDI 的问题,这下是无路可走了。然后翻箱倒柜地寻找以前的书籍,终于找到了JNDI 的一章的内容,现把代码共享给大家:
代码编写前的准备工作:下载需要的.JAR文件。
http://java.sun.com/products/jndi ,给出的不是具体的下载链接,还的自己找下载地址。
例子演示了使用 文件系统命名实例。所以要下载File System Service Provider, 1.2 Beta 3
下载完成后,UNZIP ,COPY lib 目录下的 fscontext.jar ,providerutil.jar 到你的开发目录的LIB 中,或者通过其它的方式添加到CLASSPATH 中,然后在你开发的SRC目录下添加一个文件 jndi.properties ,文件内容如下:
java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory
java.naming.provider.url=file:///d:/jndi_test/
保证开发环境会把该.properties 文件添加到classpath中,就是你编译后,classes 目录有这个文件。
保证D:/目录下有 jndi_test 目录,然后在jndi_test 目录下建立 foobar.txt 文件。
下面是测试类代码。
public class Test {
public static void main(String[] args) {
try
{
Context context = new InitialContext();
File file = (File) context.lookup("foobar.txt");
System.out.println("File Size--->"+file.length());
Date dt = new Date(file.lastModified());
System.out.println("Last Modified-->"+dt);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}