如何配置jetty6以啓動非web應用程序(不是servlet)?我的Java應用程序是一個rabbitmq消費者,通過tcp監聽ampq消息。我可以用jetty init()調用我的Main入口點。有一個更好的方法嗎?在碼頭中嵌入非web應用程序
回答
爲什麼不提供一個簡單的servlet,它提供了一個init()
方法,並從那裏調用你的應用程序?即將其包裝在幾乎沒有任何東西的servlet包裝中。
它不有響應GETs
/POSTs
等,雖然你可能會發現有用的,通過一個簡單的HTML頁面報告應用狀態。
如果您想要一個完整的答案,您需要提供一些信息,但是我可以建議一些方法,這會給出不同的行爲(您需要爲您的用例選擇正確的方法)
1.只需將正確的代碼放在jetty.xml
文件中。 XML文件是一個非常完整的執行語言,因此您可以簡單地調用對象上的方法。一個適當的靜態方法,以及一個<call>
標籤應該可以做到這一點
不利之處在於,你並沒有真正從Jetty獲取任何東西 - 只需將啓動方法綁定到Jetty使用的相同啓動過程即可。
2.構建一個實現了碼頭LifeCycle
接口的組件(您最好的選擇是延長AbstractLifeCycle
),然後調用Server.addLifeCycle()
,讓你打開你的端口時,碼頭啓動,關機時乾淨碼頭,停止等。
但你得到的只是生命週期。你在部署過程中沒有得到任何東西。
同選項1,但把它放在jetty-web.xml
(或jetty-env.xml
),它允許你將它綁定到一個WAR文件的部署。
它不會爲選項1購買太多,但如果您嘗試將應用程序部署到現有的Jetty設置中,可能會有所幫助。
4.與選項1相同,但使用jetty-web.xml
。我不確定這樣做會有多好,因爲我認爲您不能將LifeCycle
附加到WebAppContext
,但它可能行得通 - 您需要對此進行更多調查。
5.作爲每Brian's solution,簡單地寫一個servlet與init()
方法,和initialise-on-startup
,那麼不將其映射到任何網址。在init
內撥打電話給您的輸入法。
- 1. 的Restlet +嵌入式碼頭+ web應用
- 2. 在移動應用程序中嵌入web應用程序
- 3. spring-boot在非web應用程序中創建非嵌入式數據源
- 4. 嵌入式碼頭應用程序中的500錯誤
- 5. 嵌入式CRUD Web應用程序
- 6. 在非Web應用程序中的Foursquare
- 7. 用jetty在桌面應用程序中嵌入web應用程序
- 8. 非android,非ios,非web應用程序
- 9. 在Web和非Web應用程序之間共享HttpContext代碼
- 10. 如何在另一個Web應用程序中嵌入Laravel應用程序?
- 11. 嵌入式碼頭響應
- 12. 如何將Web會議室嵌入到Web應用程序中?
- 13. 在應用程序中嵌入教程
- 14. 如何在非qt窗口應用程序中嵌入qtwebkit?
- 15. 如何在非.NET應用程序中嵌入IronPython?
- 16. 在非流星網頁中嵌入流星應用程序
- 17. 在非服務器應用程序中嵌入ServerSockets
- 18. 在web應用程序中嵌入聊天
- 19. iOS 8在HTML Web應用程序中嵌入YouTube失敗
- 20. 如何在GWT/GXT Web應用程序中嵌入網頁?
- 21. 在Web應用程序中是否可以嵌入數據庫?
- 22. 在web應用程序中嵌入碧玉報告
- 23. Yammer在web應用程序中共享和嵌入評論
- 24. 在jconsole中嵌入JMX web查看器應用程序
- 25. 在Python Web應用程序中嵌入python/dsl腳本
- 26. 在可可應用程序中嵌入Web服務器
- 27. 在Spring引導中嵌入XWiki Java Web應用程序
- 28. 在MVC Web應用程序中嵌入CMS
- 29. 在Web應用程序目錄中創建嵌入式hsqldb
- 30. 在我的rails應用程序中嵌入resque-web前端