2
我有web應用程序,其中我有從xsd模式生成的類。 我正在創建一個Marshaller實例和一個Unmarshaller實例作爲應用程序啓動時的靜態最終字段。JAXB一個Marshaller實例和每個應用程序的Unmarshaller實例
我想知道這是好的做法,還是更好地創建每個需求的獨立實例?
我有web應用程序,其中我有從xsd模式生成的類。 我正在創建一個Marshaller實例和一個Unmarshaller實例作爲應用程序啓動時的靜態最終字段。JAXB一個Marshaller實例和每個應用程序的Unmarshaller實例
我想知道這是好的做法,還是更好地創建每個需求的獨立實例?
緩存Marschaller
和Unmarshaller
不是一個好主意。改爲緩存JAXBContext
。
JAXBContext
可能會被重複使用來創建marshallers和unmarshallers。
Marshaller
和Unmarshaller
實例不是(必然)是線程安全的或可重用的。
我會查找參考資料並更新答案。
這裏的reference:
的的JAXBContext類是線程安全的,但現Marshaller, Unmarshaller的,和驗證類不是線程安全的。
相關答案:
的Marshaller和Unmarshaller的可重複使用 – Rustam 2017-05-03 08:16:31
@Rustam需要的引證。 – lexicore 2017-05-03 12:47:21
從您的第一個鏈接開始:「只要您不同時使用兩個線程中的一個實例,不同線程就可以重用一個Unmarshaller實例。」 – Rustam 2017-05-04 13:25:03