【发布时间】:2011-03-23 13:42:37
【问题描述】:
使用 Tomcat 或 Glassfish,在 8080 端口上部署多个应用程序没有问题。但是如果您尝试同时在多个应用程序上执行 grails run-app(不指定不同的端口),您将收到一个 JVM绑定异常。
为什么 grails run-app 与将 .WAR 部署到容器不同?
【问题讨论】:
使用 Tomcat 或 Glassfish,在 8080 端口上部署多个应用程序没有问题。但是如果您尝试同时在多个应用程序上执行 grails run-app(不指定不同的端口),您将收到一个 JVM绑定异常。
为什么 grails run-app 与将 .WAR 部署到容器不同?
【问题讨论】:
将 .WAR 部署到容器
容器本身绑定到一个端口。容器(Tomcat、Glassfish 等)能够托管多个应用程序
grails 运行应用程序
启动绑定到端口的自己的容器。此容器可能具有托管多个应用程序的能力,但这不是您在键入“run-app”时所做的事情
【讨论】:
我不是 grails 专家,但 Tomcat 和 Glassfish 是一个绑定到一个端口的进程/应用程序。然后它们托管在同一 VM 中运行的不同应用程序(Web/企业),并使用上下文根路由请求。
我怀疑 grails run-app 在新的 JVM 实例中启动新应用程序作为新进程/并尝试将其绑定到端口。如果已经有绑定,那就不行了。
【讨论】: