我们正在尝试将Model-2 SaaS应用到我们的应用程序中。
(有关Model-2的内容,请参阅IBM Link。)
Model-2为每个客户提供单独的数据库模式,其中包含一个EAR(应用程序)。
架构和数据源将基于登录客户(租户)动态
但在我们的申请中。我们有EJB(主要是State Less Session 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的数据源或任何解决方案,请建议?
对于customer-1,它应该是jdbc/DB1
,对于customer-2,它应该是jdbc/DB2...etc.
我已经搜索过类似的问题,但我想在EJB中使用解决方案,而不是改变技术,请建议。
提前致谢