我有一個Spring-Boot/Camel微服務,它通過Restful POST接受帶有各種頭部參數(1)的XML,通過存儲在類路徑(2)上的靜態xQuery文件轉換XML,然後基於結果的值檢索使用SQL的關係數據庫中的一組XSL模板(3)。然後使用xQuery(4)對這些模板進行轉換和組裝,然後在將POST方法中的原始轉換後的XML在發送到外部服務(6)之前使用轉換/組裝的XSL模板(5)進行轉換。在Camel Spring-Boot微服務中實現靜態緩存?
通過將各種步驟的主體存儲爲交換屬性,包括使用處理器從數據庫中獲取靜態XSL模板,現在可以完成所有這些工作。交換屬性可以從我的xQuery訪問,所以一切都很好。在各個步驟中,我還用臨時存儲爲交換屬性的值替換主體。這一切似乎對我來說很笨拙......
我真正的問題是什麼是在應用程序啓動過程中緩存所有XSL模板的最佳方式,以便後續調用數據庫是不必要的?它們是靜態的,數量少於10個。我只是想將它們存儲在啓動時執行的路徑中的處理器的經典單例中,然後使用步驟3中使用的處理器訪問它們以將交換變量設置爲我需要的模板。有沒有更好的方法來做到這一點?