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 <[EMAIL PROTECTED]> 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 < > > > > [EMAIL PROTECTED]> 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 > > > <[EMAIL PROTECTED]> > > > > > > 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 > > > > > <[EMAIL PROTECTED]> > > > > > > > > > > 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" <[EMAIL PROTECTED]> > > > > >>>> To: <[email protected]> > > > > >>>> 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 > [EMAIL PROTECTED] > http://www.dankulp.com/blog >
