为什么grails不能在同一个端口上运行两个应用程序?

时间:2011-03-23 13:42:38

标签: java tomcat grails

使用Tomcat或Glassfish,在端口8080上部署多个应用程序没有问题。但是如果您尝试在多个应用程序上同时执行grails run-app(不指定不同的端口),您将收到一个JVM绑定例外。

为什么grails run-app与将.WAR部署到容器不同?

2 个答案:

答案 0 :(得分:7)

  

将.WAR部署到容器

容器本身绑定到端口。容器(Tomcat,Glassfish等)能够托管多个应用程序

  

grails run-app

旋转绑定到端口的自己的容器。此容器可能能够托管多个应用程序,但这不是您在键入“run-app”时所做的事情

答案 1 :(得分:5)

我不是grails专家,但Tomcat和Glassfish是绑定到一个端口的一个进程/应用程序。然后,他们托管在同一个VM中运行的不同应用程序(Web /企业),并使用上下文根路由请求。

我怀疑grails run-app在新的JVM实例中将新应用程序作为新进程启动并尝试将其绑定到端口。如果已经存在绑定,那将无效。