Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jboss 将Immutant部署到具有多个上下文的WildFly_Jboss_Clojure_Wildfly_Undertow_Immutant - Fatal编程技术网

Jboss 将Immutant部署到具有多个上下文的WildFly

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 {:

我有一个带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
    {: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是的,我想要一个独立的工作池。谢谢你把它清理掉!