根据EJB规范,我是否允许在EJB中使用java.io
和java.nio
包来操作文件?
答案 0 :(得分:4)
不,您不被允许这样做,因为如果应用程序将在某个时刻进行群集,您永远不会知道您的文件保存在哪个位置。因此,Java EE环境中的文件操作是相当不安全的操作。
安全地执行此操作的方法可能是在JNDI中提供服务,这将关注您的对象序列化 - 请参阅示例
ByteArrayOutputStream baos= new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(myObj);
new InitialContext().bind("path/to/FileManipulator", baos.toByteArray());