JAXBContext implementation is required and designed to be thread safe, you can find official confirmation here in jakarta docs https://jakarta.ee/specifications/xml-binding/4.0/jakarta-xml-binding-spec-4.0
JAXBContext class is designed to be immutable and thus thread-safe. Given the amount of dynamic processing that potentially could take place when creating a new instance of JAXBContxt, it is recommended that a JAXBContext instance be shared across threads and reused as much as possible to improve application performance.