Vol*_*lyy 14 java jboss java-ee
今天有人告诉我"Java EE程序员不写文件".为什么我不能从Java EE容器中写入文件(例如从JBoss)?怎么了?
oxb*_*kes 32
您应该在Java EE容器本身内执行所有操作:您无法确定是否可以对文件系统进行任何一致的访问.这有很多原因,最明显的是容器内运行的应用程序将具有:
你还应该假设你不应该:
ewe*_*nli 16
要查看的最佳页面是:http://www.oracle.com/technetwork/java/restrictions-142267.html
它详细介绍了Java EE编程模型的限制.
除了上面提到的安全性,可移植性,集群,线程之外,还考虑了事务和错误处理(文件系统不是事务性的).
然而,在JVM中没有黑魔法发生,你可以创建文件(只要你有相应的权限),使用静态变量,如果你知道你在做什么就创建线程.
最好花些时间来理解为什么通常会建议这些限制,而不是为了符合要求而跳转和写入JCA连接器.
根据Java EE规范,严格禁止EJB通过"资源管理器"(JDBC,JNDI,JCA等)之外的任何方式访问任何外部资源,这尤其包括通过java.io包的类访问本地文件系统.此外,也不能ClassLoader用于此类访问,例如从应用程序的类路径加载属性文件.
其他答案已经给出了这方面的原因:
最终,这些问题的最佳资源是数据库.
| 归档时间: |
|
| 查看次数: |
13443 次 |
| 最近记录: |