我们正在尝试在我们的应用程序中实现 Model-2 SaaS。
(有关什么是 Model-2,请参阅IBM Link。)
Model-2 为每个客户使用一个 EAR(应用程序)具有单独的数据库模式。
架构和数据源将根据登录客户(租户)动态变化
但是在我们的应用程序中。我们有 EJB(主要是无状态会话 bean)。
数据源名称映射到ejb-jar.xml
每个会话 bean,如下所示。
<resource-ref>
<description>No Description</description>
<res-ref-name>jdbc/DB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
但是这种方式不可能实现SaaS的Model-2。有没有办法为 EJB 动态绑定数据源或任何解决方案,请建议?对于客户 1,它应该是jdbc/DB1
,对于客户 2,它应该是jdbc/DB2...etc.
我已经搜索过类似的问题,但我想要一个在 EJB 中的解决方案,而不是改变技术,请提出建议。
提前致谢