我们已经开发了JEE5 Web应用程序(WAR),并在WebLogic 11g(10.3.5)下在生产环境中运行它。

现在,应在同一WebLogic上将同一应用程序部署为针对不同客户(不同URL,不同数据)的单独应用程序。

我通过在部署每个上下文根后设置不同的上下文根来管理第一部分。

但是我还没有使它们使用不同的数据源-并且由于我想避免客户特定的构建,因此persistence.xml对于所有应用程序都是相同的,因此也是持久性单元名称。

此方案的最佳设置是什么?我是否要按不同的WAR来进行单独的构建,还是必须将单独的受管服务器或域与服务器分开,还是有更好的解决方法?

最佳答案

我知道此线程很旧,但请回复,以便它可以帮助遇到相同问题的人绊倒在此线程上。

最新的weblogic 12.2.1带有 Multi-Tenancy (我猜是附加组件),它可以让您在单个域中运行相同的应用程序。

编辑: Weblogic 12.2.1引入了称为分区的概念。分区是Weblogic域的配置和运行时分割。在单个weblogic域中,您可以创建多个分区。每个分区将具有一个或多个资源组。资源组是weblogic资源的逻辑分组,例如数据源,jms,Java EE应用程序等。例如,为了实现原始帖子的要求,我们使用Web应用程序和数据源作为资源来创建资源组模板。在数据源配置中,我们可以提供一个占位符变量,而不是实际URL作为DB URL。然后,我们可以创建两个引用此资源组模板的分区(每个分区现在将具有单独的Web应用程序和数据源)。每个分区将通过创建两个具有相同JNDI名称的数据源覆盖那里的DB URL属性。在每个分区中,我们创建虚拟主机/端口,以便客户端可以使用它访问在相应分区中运行的应用程序。

更好,更详细的信息可以在https://blogs.oracle.com/WebLogicServer/entry/domain_partitions_for_multi_tenancy中找到

09-10 09:30
查看更多