Simon, The cache allows us to reuse the JAXBContext across repeated service invocations. The fact that you don't hit the cache again after a restart shouldn't be surprising, as we'd typically use a different Classloader with different Class objects, right?
I haven't fully digested the JAXB issue in the CXF JIRA, so I'll just leave it at that.....but thought I could help a bit by mentioning that. Scott