【问题标题】:Multiple copies of the same EAR application on the same server with different URL and databases同一服务器上具有不同 URL 和数据库的同一 EAR 应用程序的多个副本
【发布时间】:2012-02-25 21:49:38
【问题描述】:

我已经使用 Jax-ws 部署了一个 Web 服务,它使用数据库来存储一些状态。我已将所有内容打包到 EAR 应用程序中,并使用 Glassfish 进行部署。我想在同一台服务器(然后是同一台物理机)上部署此应用程序的多个副本,但 Glassfish 不允许这样做。每个应用程序都需要有不同的 WS 端点(即不同的 url 和/或端口)和不同的数据库,以便每个 Web 服务保持自己的状态。

我尝试将我的应用程序部署在不同的虚拟服务器和不同的 http 侦听器上。所以我让我的应用程序响应不同的 url。不幸的是,应用程序是相同的,所以它是我的数据库。

谁能帮帮我?

【问题讨论】:

    标签: java web-services glassfish jax-ws


    【解决方案1】:

    我认为 glassfish 不会禁止多次部署同一个应用,如果它有不同的名称。

    问题可能来自于提供区分日期的方式。通常的方法是从外部源读取这些属性(例如 - 数据库连接字符串、用户名、密码):

    • 外部属性文件
    • JNDI
    • (如果存在)特定于应用程序服务器的配置

    但是,您需要一种根据部署在文件系统上查找不同文件的方法。您可以在启动时读取(网络)上下文名称(来自ServletContext)并查找:

     String path = System.getProperty("config.location") + "/" + ctx.getServletContextName();
    

    【讨论】:

      猜你喜欢
      • 2014-11-05
      • 1970-01-01
      • 2015-02-18
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 2022-06-10
      相关资源
      最近更新 更多