使用JNDI创建新文件

时间:2011-05-06 07:33:08

标签: file jndi

我正在尝试使用JNDI在使用'RefFSContextFactory'时创建新绑定。所以我想要做的是使用JNDI创建一个新文件。但是,此代码抛出异常javax.naming.OperationNotSupportedException:只能绑定References或Referenceable对象。

import javax.naming.Context;
import javax.naming.InitialContext;

import java.io.IOException;
import java.util.Hashtable;
public class Main2 {

  public static void main(String [] rgstring) throws IOException {
    try {
      Hashtable<String,String> hashtableEnvironment = new Hashtable<String,String>();
      hashtableEnvironment.put(
        Context.INITIAL_CONTEXT_FACTORY, 
        "com.sun.jndi.fscontext.RefFSContextFactory"
      );
      hashtableEnvironment.put(
        Context.PROVIDER_URL, 
        "file:///TestingApps/"
      );
      Context context = new InitialContext(hashtableEnvironment);

      //File f=new File("C:\\TestingApps\\test");
      //f.createNewFile();
      context.bind("test", null);
      context.close();
    }
    catch (Exception exception) {
        exception.printStackTrace();
    }
  }

}

使用JNDI可以吗?绑定对象应该是File的对象吗?不能为null?

1 个答案:

答案 0 :(得分:0)

  

所以我想做的是创造一个新的   使用JNDI的文件。

(a)为什么? f.createNewFile()就是这么做的。

(b)你不能。

(c)这不是JNDI的用途,也不是文件系统提供者。它用于在文件或文件中记录的绑定。

正如你也被告知on the Oracle forums