1

我已经设置了一个 spring http 调用程序示例,如此处所述http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/remoting.html在第 20.4 节中

如果我连续执行多个服务调用(请参阅我的 for 循环),则单个调用之间是一秒钟,尽管服务器在不到 4 毫秒的时间内处理该方法。

有任何想法吗。

斯特凡

这里的配置和调用:

<!-- 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);
}
4

2 回答 2

0

发现问题。它没有连接到 Spring HTTP Invoker。我更新到 Java 7。当我使用 Java 6 运行我的应用程序时,它的工作方式与更新前一样(在请求之间无需等待一秒钟。如果我知道更多,我会回来。

于 2012-10-24T13:41:10.990 回答
0

我刚刚遇到了同样的问题:

  • 春季远程
  • “正好” 1 秒的延迟
  • 爪哇 7

不幸的是,我无法找到这种奇怪行为的原因,但存在一种解决方法:使用 jetty 而不是SimpleHttpServerFactoryBean.

这归结为稍微更改 xml 配置,具体如何描述here

延误消失了;SimpleHttpServerFactoryBean与在 Java 6中使用相比,触发请求的速度甚至似乎加快了。

于 2013-02-04T15:21:14.580 回答