[ https://issues.apache.org/jira/browse/CMIS-1004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15720585#comment-15720585 ]
Florian Müller commented on CMIS-1004: -------------------------------------- The Bridge code contains two session caching implementations, one based on HTTP sessions and one based on a LRU cache. The default caching implementation (and the one you use here) is the HTTP session implementation. This caching *requires* that the client can deal with cookies. Turn cookie on on the client side and it should work! Or change to the LRU cache implementation, which doesn't require cookies. Or build your own cache implementation... Apart from that, even the first call shouldn't take 12 seconds. Check if it takes the same time to connect with the CMIS Workbench with the same session parameters (-> expert login tab). Either your repository is slow or there this some kind of network issue. > 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)