2009-05-27 111 views
1

我需要从JBoss中运行的无状态会话bean读取和写入xml文件到磁盘。这样做的首选方式是什么?来自无状态会话bean的FileIO

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

我发现了一个简单的文件系统RAR示例,并且已经得到了这个工作,但它可能比直接使用java.io更麻烦。

回答

3

如果检查编程限制EJB Spec的部分,你会发现以下内容:

企业bean不能使用java.io包,以试图在 访问文件和目录 文件系统。

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

基于JBoss JCA的FSManagedConnectionFactory并不算太坏。它是基于JNDI和可能更多的实例不仅仅是黑客周围java.io

1

如果你正确关闭文件并清理,你可以使用任何你想要的。 我会使用XML解析器读取或写入XML文件,但它更安全。

0

这个复杂的方法是编写一个EJB客户端读取该文件,或建立一个XML数据源莫名其妙工作英寸实际上,如果你在会话bean中使用java.io,没有什么不好的事情会发生。但是,如果您正在使用集群和/或将迁移服务器,那么您必须注意您的bean正在运行的位置以及将调用哪一个。

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