在 Wildfly 网络应用程序中保存数据的位置
Where to save data in a Wildfly web application
到目前为止,我已经在数据库中保存了文件。我想走另一条路,将媒体文件保存在文件系统中。
在什么地方这样做是合适的,并且在新 deployment/update 应用程序的情况下不会有丢失媒体文件的风险?
我正在使用 Wildfly 8.2。
基本上,您可以将文件存储在任何您喜欢的地方,您所需要的只是在 WildFly 安装或数据目录之外的一个可配置的根目录。
您可以使用系统 属性,如 my.media.root
,或其他一些高级配置机制,如 DeltaSpike。
这适用于单机模式。对于域模式,您需要某种共享文件系统。
我这样做了。
0) 我设置了指向媒体目录的环境变量
1) 我创建了一个数据处理程序 bean,它可以很容易地允许 read/write 使用环境变量的数据。这个 bean 还包含资源的 URI 路径,以防前端 (GUI) 需要 display/deliver 数据。
2) 为了 http 访问和更简单的安全处理,我创建了一个指向 /media/ 路径的 servlet。从那里一个支持 bean 调用数据处理程序 bean 并且 returns 它到前端。
这样所有的东西都被封装了,没有变量或代码是重复的。只需确保您没有在两个或多个 servlet 上使用媒体路径,例如JSF 和新媒体 servlet。
到目前为止,我已经在数据库中保存了文件。我想走另一条路,将媒体文件保存在文件系统中。
在什么地方这样做是合适的,并且在新 deployment/update 应用程序的情况下不会有丢失媒体文件的风险?
我正在使用 Wildfly 8.2。
基本上,您可以将文件存储在任何您喜欢的地方,您所需要的只是在 WildFly 安装或数据目录之外的一个可配置的根目录。
您可以使用系统 属性,如 my.media.root
,或其他一些高级配置机制,如 DeltaSpike。
这适用于单机模式。对于域模式,您需要某种共享文件系统。
我这样做了。
0) 我设置了指向媒体目录的环境变量
1) 我创建了一个数据处理程序 bean,它可以很容易地允许 read/write 使用环境变量的数据。这个 bean 还包含资源的 URI 路径,以防前端 (GUI) 需要 display/deliver 数据。
2) 为了 http 访问和更简单的安全处理,我创建了一个指向 /media/ 路径的 servlet。从那里一个支持 bean 调用数据处理程序 bean 并且 returns 它到前端。
这样所有的东西都被封装了,没有变量或代码是重复的。只需确保您没有在两个或多个 servlet 上使用媒体路径,例如JSF 和新媒体 servlet。