2

java.io使用和java.nio包中的类型来访问文件系统和操作 EJB 中的文件是否可以接受?

4

1 回答 1

5

不,您不允许这样做,因为如果应用程序将在某个时候进行集群,您永远不知道您的文件保存在哪个位置。所以Java EE环境下的文件操作是相当不安全的操作。

安全地执行此操作的方法可能是在 JNDI 中提供服务,该服务将处理您的对象序列化 - 请参见示例

ByteArrayOutputStream baos= new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(myObj);

new InitialContext().bind("path/to/FileManipulator", baos.toByteArray());

另请参阅答案以获取进一步说明。这里还有一篇文章描述了规范中关于java.io在 EJB 中使用的内容。

于 2014-10-07T11:32:06.743 回答