使用多种上下文将Immutant部署到WildFly

时间:2015-02-11 09:28:57

标签: jboss clojure wildfly undertow immutant

我有一个带有Immutant(Clojure)的Undertow网络服务器,我的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计数器中运行时,它可以正常工作:localhost:8080 /映射到app路由,localhost:8081 /计费到计费路由。 但是,当我作为ROOT部署到WildFly时,我只能使用一个上下文,而不是两个。我尝试过所有组合:path /:port params。 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注册两个上下文?

1 个答案:

答案 0 :(得分:2)

这不是一个解决方案,但它可以为您提供有关正在发生的事情的提示。 从Immutant / WildFly documentation来看,在部署和运行WildFly时,您的问题似乎可能来自此限制:

  

在WildFly中运行时,immutant.web / run的:host和:port选项会被静默忽略,因为你的处理程序安装在WildFly的内部Undertow服务器上,绑定到它配置的任何主机/端口。