cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Cheng" <christopher.sw.ch...@gmail.com>
Subject Re: service caching
Date Tue, 04 Mar 2008 07:00:38 GMT
I haven't read the codes of Axis, but I have been using it for 2 years and
it doesn't have this problem.
Having an overhead for 5-8 seconds is not an option for a production system
in term of performance

What you are saying is that all the services must implement Clonable
interface?

On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp <dkulp@apache.org> wrote:

>
> Christopher,
>
> We cannot just "reuse" the Service model objects as they are completely
> modifiable at runtime. For example, one proxy could be reconfigured with
> new address or have additional interceptors added or similar.  Those
> shouldn't affect others.
>
> On option that propably would make sense is to add a fast "clone"
> functionality to the entire service model so we could cache one, and
> then clone it whenever one is really needed.   All the individual
> versions could be modified and not affect the original.   However, doing
> that would be quite a bit of work as there are a LOT of classes that
> would need to be updated to support that.
>
> Patches towards that end would be great.   :-)
>
> Dan
>
>
> On Monday 03 March 2008, Christopher Cheng wrote:
> > wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> >
> > After reading the codes, I have some questions. My workstation is a
> > PentiumD 3GHz with 1.5GB RAM
> >
> > In the class
> > "org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildServ
> >iceFromWSDL(String url)",
> > "setService(factory.create());" takes 3 seconds
> > "getDataBinding().initialize(getService());" takes 2 seconds
> >
> > These 2 methods are called even in 2nd calls. Can you also cache the
> > services perhaps using jakarta commons-pool? or eh-cache?
> >
> > By the way, I found that the wsdl is put into the definitionMap twice
> > if " WSDLManagerImpl.getDefinition(URL url)" is called. First in
> > "getDefintion(URL url)" at line 147 and second in
> > "loadDefinition(String url)" at line 201.
> >
> >
> > On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> >
> > christopher.sw.cheng@gmail.com> wrote:
> > > wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > >
> > > After reading the codes, I have some questions. My workstation is a
> > > PentiumD 3GHz with 1.5GB RAM
> > >
> > > In the class "
> > > org.apache.cxf.service.factory.ReflectionServiceFactoryBean.buildSer
> > >viceFromWSDL(String url)",
> > > "setService(factory.create());" takes 3 seconds
> > > "getDataBinding().initialize(getService());" takes 2 seconds
> > >
> > > These 2 methods are called even in 2nd calls. Can you also cache the
> > > services perhaps using jakarta commons-pool? or eh-cache?
> > >
> > > By the way, I found that the wsdl is put into the definitionMap
> > > twice if " WSDLManagerImpl.getDefinition(URL url)" is called. First
> > > in "getDefintion(URL url)" at line 147 and second in
> > > "loadDefinition(String url)" at line 201.
> > >
> > >
> > >
> > > On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > <willem.jiang@gmail.com>
> > >
> > > wrote:
> > > > Hi,
> > > >
> > > > I just went through the code, we really cache the WSDL definition
> > > > in CXF.
> > > > Could you send your test case and wsdl file to me ? I may need to
> > > > trace it for more information.
> > > >
> > > > Regards,
> > > >
> > > > Willem
> > > >
> > > > Christopher Cheng wrote:
> > > > > I think the issue is still there. I used a for loop to execute
> > > > > the
> > > >
> > > > same
> > > >
> > > > > call, all takes approximately the same time to create service. I
> > > > > guess
> > > >
> > > > that
> > > >
> > > > > the service itself is not cached.
> > > > >
> > > > > On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > <willem.jiang@gmail.com>
> > > > >
> > > > > wrote:
> > > > >> Here is the JIRA[1] which describe the same thing that you
> > > > >> want. I don't know if it was really resolved, could you try the
> > > > >> latest released CXF 2.0.4 for it.
> > > > >>
> > > > >> If the issue is still there, please let me know , I will put
it
> > > > >> to my next week todo list.
> > > > >>
> > > > >> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > >> [2]http://cwiki.apache.org/CXF/download.html
> > > > >>
> > > > >> Willem.
> > > > >>
> > > > >> Christopher Cheng wrote:
> > > > >>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > >>>
> > > > >>> I understand that it will take a long time to build for the
> > > > >>> first
> > > >
> > > > time.
> > > >
> > > > >> What
> > > > >>
> > > > >>> I am wondering is that why it takes so long for the second
and
> > > > >>> third
> > > > >>
> > > > >> time?
> > > > >>
> > > > >>> Is there any caching of services? Axis does not seem to have
> > > > >>> this
> > > >
> > > > issue.
> > > >
> > > > >>> Christopher Cheng wrote:
> > > > >>>> Attached is the log
> > > > >>>>
> > > > >>>> ----- Original Message -----
> > > > >>>> From: "Willem Jiang" <willem.jiang@gmail.com>
> > > > >>>> To: <cxf-user@incubator.apache.org>
> > > > >>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > >>>> Subject: Re: service caching?
> > > > >>>>
> > > > >>>>> Hi
> > > > >>>>>
> > > > >>>>> Could you set the logger level to FINE ?
> > > > >>>>> So we can get more information about the service
publishing.
> > > > >>>>>
> > > > >>>>> Willem.
> > > > >>>>>
> > > > >>>>> Christopher Cheng wrote:
> > > > >>>>>> When I call the service as a client, it takes
5 seconds to
> > > > >>>>>> load.
> > > >
> > > > I am
> > > >
> > > > >>>>>> not
> > > > >>>>>> sure whether it takes 5 seconds to create the
service or it
> > > > >>>>>> takes
> > > >
> > > > 5
> > > >
> > > > >>>>>> seconds
> > > > >>>>>> to look up for ciper filters. I am wondering
if the
> > > > >>>>>> services are cached...
> > > > >>>>>>  Feb 29, 2008 2:14:42 PM
> > > > >>>>>> org.apache.cxf.service.factory.ReflectionServiceFactoryBean
> > > > >>>>>> buildServiceFromWSDL
> > > > >>>>>> INFO: Creating Service
> > > > >>>>>> {https://webservices.sabre.com/websvc}OTA_HotelAvailService<https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>
> > > > >>>>>><https://webservices.sabre.com/websvc%7DOTA_HotelAvailServic
> > > > >>>>>>e>
> > > >
> > > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvailService>from
> WSDL:
> > > > >>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > >>
> > > > >> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > >>
> > > > >>>>>> Feb 29, 2008 2:14:47 PM
> > > > >>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersuites
> > > > >>>>>> INFO: The cipher suites have not been configured,
falling
> > > > >>>>>> back to
> > > > >>
> > > > >> cipher
> > > > >>
> > > > >>>>>> suite filters.
> > > > >>>>>> Feb 29, 2008 2:14:47 PM
> > > > >>>>>> org.apache.cxf.transport.https.SSLUtils getCiphersFromList
> > > > >>>>>> INFO: The cipher suites have been set to
> > > >
> > > > SSL_RSA_WITH_RC4_128_MD5,
> > > >
> > > > >>>>>> SSL_RSA_WITH_RC4_128_SHA, SSL_RSA_WITH_DES_CBC_SHA,
> > > > >>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA, SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > >>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > >
> > > > SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > >
> > > > >>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > >>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > >>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > >
> > > > SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > >
> > > > >>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > >>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > >>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > >>>>>> TLS_KRB5_WITH_DES_CBC_SHA, TLS_KRB5_WITH_DES_CBC_MD5,
> > > > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > >>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > >
> > > > TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > >
> > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29,
2008 2:14:48
> > > > >>>>>> PM
> > > >
> > > > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingCallbackon
> > > >Close
> > > >
> > > > >>>>>>  I have put this in my cxf.xml as in
> > > > >>>>>> http://cwiki.apache.org/CXF20DOC/client-http-transport.html
> > > > >>>>>>, but
> > > >
> > > > it
> > > >
> > > > >>>>>> doesn't
> > > > >>>>>> help... <http:conduit name="*.http-conduit">
> > > > >>>>>>             <http:tlsClientParameters
> > > > >>>>>> secureSocketProtocol="SSL"> <sec:cipherSuitesFilter>
> > > > >>>>>>                 <!-- these filters ensure
that a
> > > > >>>>>> ciphersuite with export-suitable or null encryption
is
> > > > >>>>>> used, but exclude anonymous Diffie-Hellman key
change
> > > >
> > > > as
> > > >
> > > > >>>>>>                 this is vulnerable to man-in-the-middle
> > > > >>>>>> attacks
> > > >
> > > > -->
> > > >
> > > > >>>>>>                 <sec:include>.*_EXPORT_.*</sec:include>
> > > > >>>>>>                 <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > >>>>>>                 <sec:include>.*_WITH_DES_.*</sec:include>
> > > > >>>>>>                 <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > >>>>>>                 <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > >>>>>>             </sec:cipherSuitesFilter>
> > > > >>>>>>         </http:tlsClientParameters>
> > > > >>>>>> </http:conduit>
> > > > >>>>
> > > > >>>>  http://www.nabble.com/file/p15773252/cxf.log cxf.log
>
>
>
> --
> J. Daniel Kulp
> Principal Engineer, IONA
> dkulp@apache.org
> http://www.dankulp.com/blog
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message