如何在WebLogic 11g上两次部署相同的Web应用程序?

前端之家收集整理的这篇文章主要介绍了如何在WebLogic 11g上两次部署相同的Web应用程序?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们开发了一个JEE5 Web应用程序(WAR),并在WebLogic 11g(10.3.5)下运行它.

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

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

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

这种情况的最佳设置是什么?我是否强制进行单独的构建以及不同的WAR,或者我必须将服务器或域与服务器分开,还是有更好的方法解决它?

解决方法

ServletContextListener.contextInitialized可以查看ServletContext并找出哪个部署

在web.xml中,定义一个servlet上下文侦听器:

<listener>
  <listener-class>com.path.YourServletContextListener</listener-class>
</listener>

然后在YourServletContextListener.java中,添加一个contextInitialized方法,如下所示:

public void contextInitialized(ServletContextEvent sce)
{
  ServletContext sc = sce.getServletContext();
  String name = sc.getContextPath();
  ...
}

我的想法是你可以使用该名称从已配置的多个数据源中进行选择.根据您的部署方式,您将建立不同的数据库连接并拥有正确的应用程序数据.

猜你在找的HTML相关文章