Return-Path: X-Original-To: apmail-cxf-issues-archive@www.apache.org Delivered-To: apmail-cxf-issues-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BC8BC18A1C for ; Mon, 4 Apr 2016 10:46:26 +0000 (UTC) Received: (qmail 21606 invoked by uid 500); 4 Apr 2016 10:46:26 -0000 Delivered-To: apmail-cxf-issues-archive@cxf.apache.org Received: (qmail 21375 invoked by uid 500); 4 Apr 2016 10:46:26 -0000 Mailing-List: contact issues-help@cxf.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cxf.apache.org Delivered-To: mailing list issues@cxf.apache.org Received: (qmail 21016 invoked by uid 99); 4 Apr 2016 10:46:26 -0000 Received: from arcas.apache.org (HELO arcas) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 04 Apr 2016 10:46:25 +0000 Received: from arcas.apache.org (localhost [127.0.0.1]) by arcas (Postfix) with ESMTP id A25062C1F71 for ; Mon, 4 Apr 2016 10:46:25 +0000 (UTC) Date: Mon, 4 Apr 2016 10:46:25 +0000 (UTC) From: "Sergey Beryozkin (JIRA)" To: issues@cxf.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (CXF-6837) Add cache for MessageBodyReader/Writer MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CXF-6837?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15223930#comment-15223930 ] Sergey Beryozkin commented on CXF-6837: --------------------------------------- Sure, I'll do it, but in meantime, lets talk about the patch. Please recreate it against the trunk source, the current patch seems to have been created against the earlier version of the patch, so I do not see where the providers are added to the cache. Next, I do not understand why we have the providers kept in 1) the cache and 2) in the factory ? If we have the cache, why do we still need to keep them in the factory itself ? And if we have a cache, why does your code still check if the provider from the cache matches the media types and the type/generic types ? Thanks, Sergey > Add cache for MessageBodyReader/Writer > -------------------------------------- > > Key: CXF-6837 > URL: https://issues.apache.org/jira/browse/CXF-6837 > Project: CXF > Issue Type: Improvement > Components: JAX-RS > Affects Versions: 3.1.5, 3.0.8 > Environment: windows > Reporter: Neal Hu > Fix For: 3.2.0 > > Attachments: ProviderCache.java, ProviderFactory.patch > > > CXF selects the msgBodyReader/writer in the reader/writer list for every request, which has big impact to the performance. Jersey also has the cache in org.glassfish.jersey.message.internal.MessageBodyFactory._getMessageBodyReader(...). I have tried add the cache for CXF in ProviderFactory and been proved that it has improved 7-8% for json requests in JMeter. Please let me know if you'd like me to add the enhancement for CXF. Thanks. > http://cxf.547215.n5.nabble.com/MessageBodyReader-Writer-cache-td5767091.html -- This message was sent by Atlassian JIRA (v6.3.4#6332)