2015-02-11 167 views
1

我有Immutant(Clojure的)的暗潮Web服务器WildFly,我main-看起来是这样的:部署Immutant可与多种环境

(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运行不,它只是罚款:本地主机: 8080 /映射到应用程序路线,以及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:/

那么,如何让暗潮注册两种情况下?

+0

AbbéRésina的回答是正确的,因为WildFly管理员已经为其环境配置了嵌入式Web服务器。其他人可能无法访问。您的应用程序已经由:path选项唯一标识。为什么需要两个物理嵌入式Undertow实例还有另一个原因吗? – jcrossley3 2015-02-11 13:22:40

+1

啊!我只是注意到你在你的账单服务器上设置了工作线程。不幸的是,在WildFly中,这是不可能的,因为只有一个Undertow实例,并且其配置由部署到它的所有应用程序的系统管理员决定。 – jcrossley3 2015-02-11 13:32:07

+0

@ jcrossley3是的,我想要一个孤立的工作人员池。谢谢你清除! – lobanovadik 2015-02-11 13:50:13

回答

2

这不是一个解决方案,但它可以给你提示发生了什么。 从Immutant/WildFly documentation,它看起来像你的问题可能来自这一限制在部署和运行到WildFly时:

当内WildFly运行的:主机和:端口选项immutant.web /运行是悄无声息由于您的处理程序安装在WildFly的内部Undertow服务器上,因此它被忽略,并绑定到它为其配置的任何主机/端口。