Допустимо ли использовать типы из java.io
и java.nio
для доступа к файловой системе и управления файлами в EJB?
Можно ли получить доступ к файловой системе в EJB?
Ответы (1)
Нет, вам не разрешено это делать, потому что, если приложение в какой-то момент будет кластеризовано, вы никогда не узнаете, в каком месте были сохранены ваши файлы. Таким образом, манипулирование файлами в среде 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.
person
Petr Mensik
schedule
07.10.2014