Results 1 to 5 of 5

Thread: RestTemplate : post with timeout ?

  1. #1
    Join Date
    Apr 2009
    Posts
    18

    Default RestTemplate : post with timeout ?

    Hi,

    How is it possible to send a post with a timeout with RestTemplate ?

    Thanks.

  2. #2
    Join Date
    Jun 2007
    Posts
    15

    Default Timeout with restTemplate

    I am looking for an answer to the same question

  3. #3
    Join Date
    Jul 2010
    Posts
    1

    Default

    You need to use Commons http client. For example:

    <bean id="esbRestTemplate" class="org.springframework.web.client.RestTemplate ">
    <constructor-arg>
    <bean class="org.springframework.http.client.CommonsClie ntHttpRequestFactory">
    <property name="readTimeout" value="${esb.request.timeout}" />
    </bean>
    </constructor-arg>
    </bean>

  4. #4
    Join Date
    May 2012
    Posts
    2

    Default

    HI,

    Did the above fix helped you.
    (think)

  5. #5
    Join Date
    Oct 2012
    Posts
    4

    Default

    Quote Originally Posted by Premik View Post
    You need to use Commons http client. For example:
    I've tried the above and I've also tried this:
    Code:
       <bean id="requestFactory" class="org.springframework.http.client.SimpleClientHttpRequestFactory">
    		<property name="connectTimeout" value="5000"/>
    		<property name="readTimeout" value="5000"/>
    	</bean>
    	
    	<bean id="restOperations" class="org.springframework.web.client.RestTemplate">
    		<constructor-arg>
    		
    			<ref bean="requestFactory"/>
    		</constructor-arg>
    	</bean>
    However, readTimeout doesn't seem to affect my timeout settings (there seems to be a default timeout of around 80 seconds somewhere). Also if I use the connectTimeout property in the config it causes the following exception on startup:

    SEVERE: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListe ner
    org.springframework.beans.factory.BeanCreationExce ption: Error creating bean with name 'requestFactory' defined in class path resource [remon-spring-config.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritablePropertyExcep tion: Invalid property 'connectTimeout' of bean class [org.springframework.http.client.SimpleClientHttpRe questFactory]: Bean property 'connectTimeout' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:1361)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.populateBean(AbstractAu towireCapableBeanFactory.java:1086)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.doCreateBean(AbstractAu towireCapableBeanFactory.java:517)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.createBean(AbstractAuto wireCapableBeanFactory.java:456)
    at org.springframework.beans.factory.support.Abstract BeanFactory$1.getObject(AbstractBeanFactory.java:2 91)
    at org.springframework.beans.factory.support.DefaultS ingletonBeanRegistry.getSingleton(DefaultSingleton BeanRegistry.java:222)
    at org.springframework.beans.factory.support.Abstract BeanFactory.doGetBean(AbstractBeanFactory.java:288 )
    at org.springframework.beans.factory.support.Abstract BeanFactory.getBean(AbstractBeanFactory.java:190)
    at org.springframework.beans.factory.support.DefaultL istableBeanFactory.preInstantiateSingletons(Defaul tListableBeanFactory.java:580)
    at org.springframework.context.support.AbstractApplic ationContext.finishBeanFactoryInitialization(Abstr actApplicationContext.java:895)
    at org.springframework.context.support.AbstractApplic ationContext.refresh(AbstractApplicationContext.ja va:425)
    at org.springframework.web.context.ContextLoader.crea teWebApplicationContext(ContextLoader.java:276)
    at org.springframework.web.context.ContextLoader.init WebApplicationContext(ContextLoader.java:197)
    at org.springframework.web.context.ContextLoaderListe ner.contextInitialized(ContextLoaderListener.java: 47)
    at org.apache.catalina.core.StandardContext.listenerS tart(StandardContext.java:4206)
    at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:4705)
    at org.apache.catalina.core.ContainerBase.addChildInt ernal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(Co ntainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(Sta ndardHost.java:601)
    at org.apache.catalina.startup.HostConfig.deployDescr iptor(HostConfig.java:675)
    at org.apache.catalina.startup.HostConfig.deployDescr iptors(HostConfig.java:601)
    at org.apache.catalina.startup.HostConfig.deployApps( HostConfig.java:502)
    at org.apache.catalina.startup.HostConfig.start(HostC onfig.java:1317)
    at org.apache.catalina.startup.HostConfig.lifecycleEv ent(HostConfig.java:324)
    at org.apache.catalina.util.LifecycleSupport.fireLife cycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1065)
    at org.apache.catalina.core.StandardHost.start(Standa rdHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(Conta inerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(Stan dardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(Sta ndardService.java:525)
    at org.apache.catalina.core.StandardServer.start(Stan dardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalin a.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknow n Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Un known Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.catalina.startup.Bootstrap.start(Bootst rap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstr ap.java:414)
    Caused by: org.springframework.beans.NotWritablePropertyExcep tion: Invalid property 'connectTimeout' of bean class [org.springframework.http.client.SimpleClientHttpRe questFactory]: Bean property 'connectTimeout' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?
    at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:1024)
    at org.springframework.beans.BeanWrapperImpl.setPrope rtyValue(BeanWrapperImpl.java:900)
    at org.springframework.beans.AbstractPropertyAccessor .setPropertyValues(AbstractPropertyAccessor.java:7 6)
    at org.springframework.beans.AbstractPropertyAccessor .setPropertyValues(AbstractPropertyAccessor.java:5 8)
    at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.applyPropertyValues(Abs tractAutowireCapableBeanFactory.java:1358)

    Any ideas on what's gone wrong here?

    Thanks in anticipation.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •