Java 来自无状态会话bean的FileIO

Java 来自无状态会话bean的FileIO,java,jboss,Java,Jboss,我需要从运行在JBoss中的无状态会话bean将xml文件读写到磁盘。这样做的首选方式是什么 现在,我们正在使用java.io类访问文件系统 我找到了一个简单的文件系统RAR示例,并且已经实现了,但是它可能比直接使用java.io更容易出错。如果您正确地关闭文件并进行清理,您可以使用任何您想要的东西。 不过,我会使用XML解析器来读取或写入XML文件,这样更安全。如果您查看的是“编程限制”部分,您会发现以下内容: 企业bean不能使用java.io包来尝试 访问中的文件和目录 文件系统 如果你能

我需要从运行在JBoss中的无状态会话bean将xml文件读写到磁盘。这样做的首选方式是什么

现在,我们正在使用java.io类访问文件系统


我找到了一个简单的文件系统RAR示例,并且已经实现了,但是它可能比直接使用java.io更容易出错。

如果您正确地关闭文件并进行清理,您可以使用任何您想要的东西。 不过,我会使用XML解析器来读取或写入XML文件,这样更安全。

如果您查看的是“编程限制”部分,您会发现以下内容:

企业bean不能使用java.io包来尝试 访问中的文件和目录 文件系统

如果你能找到一个更好的,可能更安全的,更重要的,事务性的方法,请重新考虑。我们有一个系统,将PDF文档作为blob存储在数据库中,然后通过电子邮件或servlet将其提供给用户


基于JBoss JCA的FSManagedConnectionFactory还不错。它是基于JNDI的,并且可能在更多的情况下工作,而不仅仅是在java.io上进行黑客攻击。复杂的方法是编写一个读取文件的ejb客户端,或者以某种方式设置一个xml数据源。实际上,如果在会话bean中使用java.io,就不会发生什么坏事。但是,如果您正在使用集群和/或将迁移服务器,那么您必须注意bean在哪里运行以及将调用哪个bean

最简单的“批处理”解决方案是从集群中取出一台机器,并在那里运行“批处理”应用程序