【发布时间】:2019-07-06 22:49:28
【问题描述】:
似乎“Spring Exporter”除了方法的值之外还返回完整的类路径(文件的 URI):
Wireshark 截图:
在这个示例应用程序中,它大约需要 2KB。但在实际中,它需要十多个 8KB tcp 碎片并导致显着延迟。所以,我正在寻找一种解决方案来防止传递这些额外的数据。
服务器端配置XML:
<beans xmlns="http://www.springframework.org/schema/beans" ...>
<bean id="calculationBean" class="com.misc.poc.rmi.CalculationImpl"/>
<bean class="org.springframework.remoting.rmi.RmiServiceExporter">
<property name="service" ref="calculationBean"/>
<property name="serviceInterface" value="com.misc.poc.rmi.Calculation"/>
<property name="serviceName" value="CalculationService"/>
<property name="servicePort" value="2000"/>
<property name="registryPort" value="1999"/>
</bean>
</beans>
客户端配置XML:
<beans xmlns="http://www.springframework.org/schema/beans" ...>
<bean id="calculationBean" class="org.springframework.remoting.rmi.RmiProxyFactoryBean">
<property name="serviceUrl" value="rmi://192.168.100.94:1999/CalculationService"/>
<property name="serviceInterface" value="com.misc.poc.rmi.Calculation"/>
<property name="lookupStubOnStartup" value="false"/>
<property name="refreshStubOnConnectFailure" value="true"/>
</bean>
</beans>
一些相关的类:
public interface Calculation {
int cube(int number);
Info greeting(String name);
}
public class Info implements Serializable {
private String title;
private String desc;
public String getTitle() { return title; }
public void setTitle(String title) { this.title = title; }
public String getDesc() { return desc; }
public void setDesc(String desc) { this.desc = desc; }
}
public class CalculationImpl implements Calculation {
@Override
public int cube(int number){
return number*number*number;
}
@Override
public Info greeting(String name) {
Info res = new Info();
res.setTitle(name);
res.setDesc("Hello");
return res;
}
}
RMI 返回数据:
E uüg@@7ÐðiøtC}þz8^j¾¾~Q¬íw_`2hå{{R4srcom.misc.poc.rmi.Info^èù¶é¶×LdesctLjava/lang/String;Ltitleq~tÉfile:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/classes/ file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-security-config-3.2.5.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/aspectjweaver-1.8.9.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-web-4.3.10.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/aopalliance-1.0.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/common-1.0.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/commons-logging-1.2.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-security-taglibs-3.2.5.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-jdbc-4.3.10.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-core-4.3.10.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-security-core-3.2.5.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-expression-4.3.10.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-security-acl-3.2.5.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-context-4.3.10.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-beans-4.3.10.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-security-web-3.2.5.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-tx-4.3.10.RELEASE.jar file:/home/user/masoud/jobs/huge-marshal/huge-marshal-app/web-server/target/server/WEB-INF/lib/spring-aop-4.3.10.RELEASE.jarxptHellotGholi
【问题讨论】: