Jboss 将Immutant部署到具有多个上下文的WildFly
我有一个带Immutant(Clojure)的Undertow web服务器,我的Jboss 将Immutant部署到具有多个上下文的WildFly,jboss,clojure,wildfly,undertow,immutant,Jboss,Clojure,Wildfly,Undertow,Immutant,我有一个带Immutant(Clojure)的Undertow web服务器,我的main-如下所示: (run (-> routes/app wrap-something-app-specific wrap-params) (options {:path "/" :port 8080})) (run (-> routes/billing wrap-something-billing-specific) (options {:
main-
如下所示:
(run
(-> routes/app
wrap-something-app-specific
wrap-params)
(options
{:path "/" :port 8080}))
(run
(-> routes/billing
wrap-something-billing-specific)
(options
{:path "/billing" :port 8081
:worker-threads 4}))
当不在WildFly countainer中运行时,它工作正常:localhost:8080/映射到应用程序路由,localhost:8081/计费到计费路由。
然而,当我作为根目录部署到WildFly时,我只能使用一个上下文,而不能同时使用两个上下文。我尝试了:path/:port参数的所有组合。
WildFly日志包括:
13:07:46,295 INFO [org.projectodd.wunderboss.web.Web] (MSC service thread 1-12) Registered web context /billing
13:07:46,308 INFO [org.projectodd.wunderboss.web.Web] (MSC service thread 1-12) Registered web context /
................
13:07:46,325 INFO [org.wildfly.extension.undertow] (MSC service thread 1-12) JBAS017534: Registered web context: /
那么,如何让Undertow同时注册这两个上下文呢?这不是一个解决方案,但它可以给你一个关于发生了什么的提示。 从Immutant/WildFly来看,在部署和运行到WildFly时,您的问题可能来自此限制: 在WildFly内部运行时,immutant.web/run的:host和:port选项将被静默忽略,因为处理程序安装在WildFly的内部Undertow服务器上,绑定到为其配置的任何主机/端口
AbbéRésina的回答是正确的,因为WildFly管理员已经为他们的环境配置了嵌入式web服务器。其他的可能无法访问。您的应用已经通过:path选项唯一标识。您需要两个物理嵌入式下拖实例还有其他原因吗?啊!我刚刚注意到您在计费服务器上设置了:worker线程。不幸的是,在WildFly中,这是不可能的,因为只有一个Undertow实例,它的配置由部署到它的所有应用的系统管理员决定。@jcrossley3是的,我想要一个独立的工作池。谢谢你把它清理掉!