Развертывание Immutant в WildFly в нескольких контекстах

У меня есть веб-сервер Undertow с Immutant (Clojure), мой 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/ сопоставляет маршруты приложений и localhost:8081/ выставляет счета маршрутам выставления счетов. Однако, когда я развертываю в WildFly как ROOT, я могу заставить работать только один контекст, но не оба одновременно. Я перепробовал все комбинации: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 ответ

Решение

Это не решение, но оно может дать вам подсказку о том, что происходит. Из документации Immutant / WildFly, похоже, что ваша проблема может возникнуть из-за этого ограничения при развертывании и запуске в WildFly:

При запуске внутри WildFly параметры: host и: port для immutant.web / run автоматически игнорируются, поскольку ваши обработчики монтируются на внутреннем сервере Undertow WildFly, привязанном к любому хосту / порту, для которого он был настроен.

Другие вопросы по тегам