我已经在第20.4节
中设置了一个Spring http调用者示例,如http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/remoting.html所述如果我连续多次进行服务调用(请参阅我的for循环),虽然服务器在不到4ms的时间内处理该方法,但单次调用之间的时间是一秒。
任何想法。
的Stefan
这里是配置和呼叫:
<!-- server side -->
<bean name="configurationServiceExporter"
class="org.springframework.remoting.httpinvoker.SimpleHttpInvokerServiceExporter">
<property name="service" ref="configurationService" />
<property name="serviceInterface"
value="remote.service.ConfigurationService" />
</bean>
<bean id="httpServer"
class="org.springframework.remoting.support.SimpleHttpServerFactoryBean">
<property name="contexts">
<util:map>
<entry key="/remoting/ConfigurationService" value-ref="configurationServiceExporter" />
</util:map>
</property>
<property name="port" value="${port.httpinvoker}" />
</bean>
<!-- client side -->
<bean id="configurationServiceProxy" class="org.springframework.remoting.httpinvoker.HttpInvokerProxyFactoryBean">
<property name="serviceUrl"
value="http://localhost:7777/remoting/ConfigurationService" />
<property name="serviceInterface"
value="remote.service.ConfigurationService" />
</bean>
/** here the service call*/
@Component
public class ServiceConsumer {
private ConfigurationService configurationService;
public void do(){
for (int i = 0; i < 10; i++)
this.configurationService.getConfigurationValue(SMTP_HOST);
}
答案 0 :(得分:0)
发现问题。它没有连接到Spring HTTP Invoker。我更新到Java 7.当我用Java 6运行我的应用程序时,它在更新之前工作(请求之间没有等待一秒钟。如果我知道更多,我会回来。
答案 1 :(得分:0)
我刚遇到同样的问题:
不幸的是,我无法找到这种奇怪行为的原因,但是存在一种解决方法:使用jetty而不是SimpleHttpServerFactoryBean
。
这归结为稍微更改xml配置,具体描述如何here。
延误消失了;与在Java 6中使用SimpleHttpServerFactoryBean
相比,甚至似乎加快了触发请求。