我有一個鈴聲應用程序,通過部署到生產作爲uberwar
事情; myservice.war。在生產WAR文件被扔進碼頭的地方時,我通過雷音環本地運行遵循它的名字我可以讓lein ring server-headless在特定的servlet上下文中運行嗎?
$ curl -i -X GET http://myservice.qa1.example.com:8080/myservice/healthz
HTTP/1.1 200 OK
...
,我需要它在相同的上下文中運行上下文中運行;爲MyService。
$lein ring server-headless
2015-10-14 14:04:03,457 level=INFO [main] Server:271 - jetty-7.6.13.v20130916
2015-10-14 14:04:03,482 level=INFO [main] AbstractConnector:338 - Started [email protected]:10313
Started server on port 10313
但是同樣的捲曲讓我在本地所有404。
$ curl -i -X GET http://localhost:10313/myservice/healthz
HTTP/1.1 404 Not Found
...
lein ring將它部署到根環境中。
$ curl -i -X GET http://localhost:10313/healthz
HTTP/1.1 200 OK
...
怎麼了?我如何直接將lein ring部署到我選擇的上下文名稱中?我需要curl -i -X GET http://localhost:10313/myservice/healthz
從lein環工作
哦,我的。優秀的答案。明天我會看看它是否適合我。 –
嗯。我可以看到它試圖做什麼,但是當我在Jetty中運行時,它總是找不到/ myservice/healthz。這個解決方案真的很聰明,但必須解釋2個不同的處理程序:ring vs:uberjar在代碼評論中將會是一個難題。這對我來說似乎是一個缺口,什麼?雷音環? –
您看到的「未找到」回覆可能是由於uberjar配置文件在構建超級戰爭時沒有踢入。這可能是由於lein-ring插件的老版本或一些錯字造成的。如果'/ myservice/myservice/healthz'有效,那可能就是這個問題。 – ez121sl