我有一个包含许多数据库的MySQL数据库,每个数据库都以特定客户命名。
每个客户部署一个webapp。 Web应用程序的名称确定基础数据库名称。当webapp启动时,我有一个修改过的Spring PropertyPlaceholderConfigurer来获取ServletContext,如果它可以并确定名称。然后我在我的数据源设置中取消引用它。工作得很漂亮。完全相同的代码可以部署到所有客户,他们发现他们的数据库没有问题(也是DNS名称,以找到MySQL主机)。
我想切换到GlassFish或JBoss AS 6,并且仍然使用直接的JEE6 API /注释做同样的事情。
有办法做到这一点吗?我并不担心安全性 - 数据集足够大以证明自己的机器和Web应用程序是合理的,并且由于数据库模型与代码相关联,因此需要保持同步。由于不是每个客户都需要掌握最新的手头任务代码,因此会以不同的费率进行修改。
我喜欢JEE6的便利性,它巩固了Spring曾经拥有的东西,然后有些但是我讨厌不得不处理应用程序服务器和他们的白痴,但是拼凑起来Spring也不好玩。
答案 0 :(得分:1)
我想切换到GlassFish或JBoss AS 6,并且仍然使用直接的JEE6 API /注释做同样的事情。
我担心这是不可能的。据我所知,使用容器管理的实体管理器,您将无法在运行时配置其基础数据源。