无法从Java Agent访问文件系统

时间:2014-01-29 14:26:01

标签: java xpages lotus-notes lotus-domino agents

如果文件存在,我想检查文件系统。 此代码在SSJS中工作,我可以正确查看文件是否存在:

var filePath = "/folder/temp.xlsx";
var inStream:NotesStream = session.createStream();
    if( inStream.open(filePath,"ASCII") ){
        if( inStream.getBytes()>0 ){

    ....

        }else{...}
        }else{...}

但是这段代码,寻找exaxt相同的文件在代理中不起作用:(!!)

    Session session =  getSession();   
    Stream inStream = session.createStream();
    String filePath = "/folder/temp.xslx";
    if( inStream.open(filePath,"ASCII")){
                  if(inStream.getBytes()>0){

    ...
    }else{...}
    }else{...}

它总是进入第二个else,这意味着inStream.open(file ...)为false。

xpages文件访问和代理文件访问有什么区别? 任何解决方案?

2 个答案:

答案 0 :(得分:3)

您可能需要提高代理的安全级别。能够从代理访问文件系统。

enter image description here

答案 1 :(得分:1)

您可能需要编辑JVM中的权限。

在Lotus Domino的JVM的lib / security /目录中编辑文件java.policy。 例如C:\ Program Files \ IBM \ Lotus \ Notes \ jvm \ lib \ security \ java.policy

对于测试,您可以授予以下所有权限:

grant {
permission java.security.AllPermission;
};

您必须重新启动JVM。最简单的是重启服务器。但也许重新启动http会。