首页 > 解决方案 > 使用 lein ring server,如何切换到 ring-jetty-adapter 以外的其他适配器

问题描述

给定一个简单的网络应用程序,例如

(ns webtest.handler
  (:require [compojure.core :refer :all]
            [compojure.route :as route]
            [ring.middleware.defaults :refer [wrap-defaults site-defaults]]))

(defroutes app-routes
           (GET "/" [] "Hello World")
           (route/not-found "Not Found"))

(def app
  (-> (wrap-defaults app-routes site-defaults)))

可以开始使用lein ring server,如何调整项目以将码头适配器切换为另一个环形适配器,例如undertow或 http-kit?

作为参考,这里是使用中的 lein 的摘录project.clj

  :dependencies [[org.clojure/clojure "1.9.0"]
                 [ring "1.8.1" :exclusions [ring/ring-jetty-adapter]]
                 [luminus/ring-undertow-adapter "1.1.0"]
                 [ring/ring-defaults "0.3.2"]
                 [compojure "1.6.1"]]
  :plugins [[lein-ring "0.12.5"]]
  :ring {:handler webtest.handler/app}

标签: clojureleiningenring

解决方案


您可以使用:adapter密钥。

最后我测试了,没有,标签:adapter只允许传递 ring.jetty.adapter 的选项。分析源代码后,没有切换适配器的可能。

这是插件作者对类似查询的回复: https ://stackoverflow.com/a/24307363/5773724


推荐阅读