外掛程式化開發 Poc之後,我選擇放棄OSGI

2021-09-28 21:45:41 字數 984 閱讀 8200

tips:

如貴司允許重構老系統或者允許使用osgi的第三方框架改造所帶來的投入成本,並且評估之後roi樂觀,那麼還是可以使用的。

以下問題全部基於equinox框架 & 使用blueprint 整合spring框架

equinox version

spring framework

blueprint

mybatis

mybatis-spring

mysql

以下方案前提條件:不使用第三方框架(camel/karaf...)。

如何在不使用第三方框架的情況下提供rest service暴露?

暴露rest service 利用,osgi自帶的httpservice服務,再通過org.eclipse.equinox.servletbridge.bridgeservlet把服務橋接出去

關於現有的springmvc單體應用,如何將每乙個controller中的所有methods封裝為bundle中的bean services 對外統一暴露而不是one by one?

如何在bundle使用spring annotation/是否可以使用?

如何將現有springmvc 專案直接生成乙個full bundle以提供對外暴露services, 並且對現有專案無侵入或很少侵入?

基於眾多原因:

社群停滯維護,技術較陳舊

第三方開源框架可以實現,問題是對於我們原有系統改動太過巨大。

未來遇到的問題無法得到外部解決,只能我們自身針對性對底層進行擴充套件。

對於初中級朋友來說,學習成本太高(我翻閱了國內外大多數資料)

如果不能重新編寫新專案的話,對於原系統的改造成本太高。

...

外掛程式化開發 Poc之後,我選擇放棄OSGI

tips 如貴司允許重構老系統或者允許使用osgi的第三方框架改造所帶來的投入成本,並且評估之後roi樂觀,那麼還是可以使用的。以下問題全部基於equinox框架 使用blueprint 整合spring框架 equinox version spring framework blueprint my...

python外掛程式化開發

動態匯入 執行時,根據使用者需求 提供字串 找到模組的資源動態載入起來。sys import sys 等價於import sys 在 xyz.py class a def show self0 print 123 在 主程式模組 if name main mod import xyz cls get...

Python 外掛程式化開發

執行時,根據使用者需求 提供字串 找到模組的資源動態載入起來 import name,globals none,locals none,fromlist level 0 importlib.import module name,package none t8.py classa defshowme ...