chemistry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "vinay (JIRA)" <>
Subject [jira] [Reopened] (CMIS-1004) BridgeServiceFactory taking long time
Date Thu, 06 Apr 2017 15:27:41 GMT


vinay reopened CMIS-1004:

 We are observing performace difference in execution of cmis api from different flavor. We
are using SOAPUI and Java Client to connect to our services which internally calls cmis api
webservice end-point. 
 Though both calls the same service but response from java client is far better (even in some
cases to the magnitude of almost 10-11 seconds difference).
Below are the headers that we captured from both the calls.
Java Client :

cookie : JSESSIONID=49A481B2CFA87664920F5F6FD31E612D
accept-encoding : gzip
accept : text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
authorization : Basic ZGlvbnBkMDY6Nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
x-cmis-client : Apache Chemistry OpenCMIS/0.13.0
content-type : text/xml;charset="utf-8"
soapaction : ""
user-agent : JAX-WS RI 2.1.7-b01-
host : localhost:8080
connection : keep-alive
content-length : 1858

SOAP Request :

accept-encoding : gzip,deflate
content-type : text/xml;charset=UTF-8
soapaction : ""
content-length : 2145
host : localhost:8080
connection : Keep-Alive
user-agent : Apache-HttpClient/4.1.1 (java 1.5)

We are still not clear as to why CMIS api response time is better when called from java client
compare with soapui client.
Let us know if there is any additional setting needs to be done to improve response time


> BridgeServiceFactory taking long time
> -------------------------------------
>                 Key: CMIS-1004
>                 URL:
>             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
> 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

View raw message