経由RestTemplateを注入します。 (私は、このリンクを見て)私は(接続設定で)のConnectionManagerを入れは、私は例として、コードのこの部分を持って春
<bean id="requestConfigBuilder" class="org.apache.http.client.config.RequestConfig"
factory-method="custom">
<property name="socketTimeout" value="5000" />
<property name="connectTimeout" value="5000" />
</bean>
<bean id="requestConfig" factory-bean="requestConfigBuilder"
factory-method="build" />
<bean id="connectionManager"
class="org.apache.http.conn.HttpClientConnectionManager">
<property name="maxTotal" value="30" />
<property name="defaultMaxPerRoute" value="50" />
</bean>
<bean id="credentialsProvider" class="org.apache.commons.httpclient.auth.CredentialsProvider"/>
<bean id="httpClientBuilder" class="org.apache.http.impl.client.HttpClientBuilder"
factory-method="create">
<property name="defaultRequestConfig" ref="requestConfig" />
<property name="defaultConnectionManager" ref="connectionManager"/>
<property name="defaultCredentialsProvider" ref="credentialsProvider"/>
</bean>
<bean id="httpClient" factory-bean="httpClientBuilder"
factory-method="build" />
<bean id="requestFactory" factory-bean="httpComponentsClientHttpRequestFactory">
<property name="defaultHttpClient" ref="httpClient"/>
</bean>
<bean id="bufferingRequestFactory" factory-bean="bufferingClientHttpRequestFactory">
<property name="defaultRequestFactory" ref="requestFactory"/>
</bean>
<bean id="bufferingClientHttpRequestFactory" class="org.springframework.http.client.BufferingClientHttpRequestFactory"/>
<bean id="twRestTemplate" class="org.springframework.web.client.RestTemplate">
<constructor-arg>
<ref bean="bufferingRequestFactory" />
</constructor-arg>
<property name="errorHandler" ref="customErrorHandler" />
</bean>
とcloseableHttpClientでタイムアウト管理のための要求コンフィギュレータ:私はこのコードを書きました。私はこのBeanをHttpComponentClientHttpRequestFactoryに入れてからBufferingRequestFactoryに入れ、最後にRestTemplateに入れました。
しかし、実行時に、私はこのエラーを取得:
私が間違っているWARN [localhost-startStop-1] [CloseAwareApplicationContext] Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultTwProductSearchService' defined in class path resource [jkdsfj-spring.xml]: Cannot resolve reference to bean 'twNavigatorClientGateway' while setting bean property 'twNavigatorClientGateway'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'defaultTwNavigatorClientGateway' defined in class path resource [jkdsfj-spring.xml]: Cannot resolve reference to bean 'twRestTemplate' while setting bean property 'twRestTemplate'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'twRestTemplate' defined in class path resource [joggrouptwconnector-spring.xml]: Cannot resolve reference to bean 'bufferingRequestFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'bufferingRequestFactory' defined in class path resource [jkdsfj-spring.xml]: Instantiation of bean failed; nested exception is java.lang.IllegalStateException: No bean class specified on bean definition
?
'BufferingClientHttpRequestFactory'が 'org.springframework.beans.factory.FactoryBean'を実装していない可能性がありますか? – Sashi
確認します。 FactoryBeanクラスを実装していない場合、どうすればいいですか? – sharkbait
はいBufferingClientHttpRequestFactoryはFactoryBeanを実装していません...(私は今何をすればいいのですか? – sharkbait