Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.7.4, 2.6.7
-
None
-
Unknown
Description
I post a mail to mail list to describe this. And Daniel fixed it very quickly. I still open this JIRA to record this issue, so that I can get a numbered patch merging to my runtime. Thanks.
–
hi devs,
I found some intermittent NullpointerException, and it is very hard to reproduce but I did have met a lot of times, and it is thrown from different places from runtime:
Stack Dump = java.lang.NullPointerException
at org.apache.cxf.common.jaxb.JAXBUtils.generateJaxbSchemas(JAXBUtils.java:765)
at org.apache.cxf.jaxb.JAXBDataBinding.generateJaxbSchemas(JAXBDataBinding.java:440)
at org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBinding.java:363)
at org.apache.cxf.service.factory.AbstractServiceFactoryBean.initializeDataBindings(AbstractServiceFactoryBean.java:86)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServiceFromClass(ReflectionServiceFactoryBean.java:469)
at org.apache.cxf.jaxws.support.JaxWsServiceFactoryBean.buildServiceFromClass(JaxWsServiceFactoryBean.java:690)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.initializeServiceModel(ReflectionServiceFactoryBean.java:531)
at org.apache.cxf.service.factory.ReflectionServiceFactoryBean.create(ReflectionServiceFactoryBean.java:247)
After checking the codes, they are all about the jaxbcontext is null.
From the JAXBContextCache.CachedContextAndSchemas, I notice this line:
private WeakReference<JAXBContext> context;
IMHO, WeakReference is not a good choice to do cache, it could be gc in any time. For example,
JAXBContextCache.getCachedContextAndSchemas(..)
<gc>
ctx = cachedContextAndSchemas.getContext() <-- then the ctx will be null here
So I guess this is the root cause of the intermittent issue.
Attachments
Attachments
Issue Links
- relates to
-
CXF-7166 NullPointerException at org.apache.cxf.common.jaxb.JAXBUtils.createJAXBContextProxy with IBM-JDK 8
- Closed