vinay created CMIS-1004:
---------------------------
Summary: BridgeServiceFactory taking long time
Key: CMIS-1004
URL: https://issues.apache.org/jira/browse/CMIS-1004
Project: Chemistry
Issue Type: Bug
Components: opencmis-bridge, opencmis-server
Affects Versions: OpenCMIS 1.1.0
Reporter: vinay
Hi,
We have a query around time taken by BridgeServiceFactory with every request.
Below are the details of our implementation.
We have created ServiceFactory class by extending AbstractBridgeServiceFactory
and overriding below methods :
@Override
protected FilterCmisService createService(CallContext context)
@Override
public CmisService getService(CallContext context)
@Override
public void init(Map<String, String> parameters) : In this method we
are enabling ServiceWrapper feature and then calling the super.init()
We have observed that every SOAP request is taking more than 12 seconds to get
the Service (i.e. getService(CallContext context) call)
The overridden getService(CallContext context) method calls
CachedBindingCmisService.setCallContext(CallContext context).
Our assumtion was that since cache is in place first request will take time
once cache gets warm up. And then all the subsequent call will utilize cache.
But this is not happening and every request builds the cache.
On further investigation we found that
CachedBindingCmisService.getCmisBindingFromCache() method always return null.
It is because the internal call to
HttpSessionCmisService.getCmisBindingFromCache() not able to find the existing
session
{
HttpSession httpSession = getHttpSession(false) ---> This always return
null.
}
Please let us know if there is way to improve and utilize the inbuilt cache
mechanism. Or is it something missing while creating custom ServiceFactory
class by extending AbstractBridgeServiceFactory.
Thanks & Regards,
Vinay
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)