Согласно спецификации EJB, разрешено ли использовать файлы java.io
и java.nio
в EJB для управления файлами?Доступ к файлам в EJB
1
A
ответ
4
Нет, вам не разрешено это делать, потому что если приложение будет сгруппировано в какой-то момент, вы никогда не узнаете, в каком месте были сохранены ваши файлы. Таким образом, манипулирование файлами в среде Java EE довольно небезопасно.
Способ сделать это безопасно будет, вероятно, иметь службу в JNDI, который будет заботиться о вашем сериализации объекта - см пример
ByteArrayOutputStream baos= new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(myObj);
new InitialContext().bind("path/to/FileManipulator", baos.toByteArray());
Смотрите также this ответ для дальнейшего объяснения. Также here - это статья, в которой описывается, что спецификация говорит об использовании java.io
в EJB.
+1 для объяснения причин, почему это небезопасно. Не могли бы вы привести пример доступа к файлам в среде Java EE? Есть ли безопасный способ сделать это? –