[ https://issues.apache.org/jira/browse/CXF-4294?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Colm O hEigeartaigh updated CXF-4294: ------------------------------------- Fix Version/s: 2.4.8 2.5.4 2.6.1 Assignee: Colm O hEigeartaigh > Exception Cache ws-security.timestamp.cache.instance already exists or Cache > ws-security.nonce.cache.instance already exists > ---------------------------------------------------------------------------------------------------------------------------- > > Key: CXF-4294 > URL: https://issues.apache.org/jira/browse/CXF-4294 > Project: CXF > Issue Type: Bug > Components: WS-* Components > Affects Versions: 2.6 > Reporter: Debdayal Mandal > Assignee: Colm O hEigeartaigh > Priority: Minor > Fix For: 2.6.1, 2.5.4, 2.4.8 > > > We have upgraded to CXF 2.6.0 and services started fine but getting following > exceptions when first client calls are coming > Exception Cache ws-security.timestamp.cache.instance already exists OR > Cache ws-security.nonce.cache.instance already exists > Our project has multiple webservice endpoints/services in a single JVM and > all of the endpoints may get a client SOAP call at the same time. We have WS > Security timestamp, signature and encryption enabled. This exception is > coming when all the client calls are coming almost at the same time but if > the client calls are sparse over time then everything runs fine. But when the > exception occurs that particular client received no data or exception. > In our analysis, we found that CXF 2.6.0 is trying to add cache instance for > nonce and timestamp through net.sf.ehcache.CacheManager: addCache (final > Ehcache cache) API call. I am not sure if this cache instance addition > happens for all the SOAP calls or once per endpoint but > net.sf.ehcache.CacheManager: addCache (final Ehcache cache) has a strict > check, if it is already there (may have been created already by another > webservice endpoint in the same JVM) it throws an exception. > It appears that CXF should use net.sf.ehcache.CacheManager: > addCacheIfAbsent(final Ehcache cache) instead of net.sf.ehcache.CacheManager: > addCache (final Ehcache cache). addCacheIfAbsent(...) does not throw > exception if the cache instance is already present. > Currently we have made following changes to avoid the exceptions > <jaxws:endpoint id="...."> > ... > <jaxws:properties> > ... > <entry key="ws-security.enable.nonce.cache" > value="false" /> > <entry > key="ws-security.enable.timestamp.cache" value="false" /> > </jaxws:properties> > </jaxws:endpoint> > Please let us know, if this is a bug or are there any other solution such > that we do not have to disable nonce and timestamp cache of our own. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira