直接从Java调用GWT RPC服务

直接从Java调用GWT RPC服务,java,gwt,gwt-rpc,Java,Gwt,Gwt Rpc,有没有一种简单的方法可以直接从Java代码调用GWT RPC服务端点?我指的是真正的Java代码,而不是编译成javascript的Java代码 我这样问是因为我们想对GWT RPC接口运行性能基准测试/压力测试。我想用Java编写测试工具,并在JVM中运行它(而不是在浏览器中运行javascript) 我想一定有办法做到这一点,因为我假设GWT托管模式需要这样的功能。但是,我在GWT运行时中找不到任何代码来演示如何干净地执行此操作。我看过com.google.gwt.user.client.r

有没有一种简单的方法可以直接从Java代码调用GWT RPC服务端点?我指的是真正的Java代码,而不是编译成javascript的Java代码

我这样问是因为我们想对GWT RPC接口运行性能基准测试/压力测试。我想用Java编写测试工具,并在JVM中运行它(而不是在浏览器中运行javascript)


我想一定有办法做到这一点,因为我假设GWT托管模式需要这样的功能。但是,我在GWT运行时中找不到任何代码来演示如何干净地执行此操作。我看过com.google.gwt.user.client.rpc包,但是里面的东西似乎使用了JSNI,这显然是纯Java无法使用的。

您可以使用传统的负载测试工具(如Grinder)来重播对服务的post请求。这并不是您想要的,但它可能是在应用程序上执行负载测试的更好方法。研磨机可以同时模拟多个用户等

您是在尝试对服务的业务逻辑进行基准测试,还是在测试GWT-RPC本身的性能?如果您最担心后端代码的性能,您可以直接实例化实现服务的类:

MyServiceImpl impl = new MyServiceImpl();
impl.doSomething();

如果您想测试堆栈的更大部分,包括RPC调用,请查看。有一个名为“在web模式下运行测试”的部分,其中有一行:“默认情况下,在托管模式下运行的测试在JVM中作为普通Java字节码运行”。因此,如果您使用所描述的设置,我认为您可以在默认情况下在java中运行测试。该页面上还有关于GWT内置评测工具的信息。

GWT SyncProxy允许您从纯Java(而非JSNI)代码访问GWT RPC服务(例如方法)。因此,您可以使用它来测试您的RPC接口


有关详细信息,请参阅。

我想测试GWT-RPC本身以及我们在服务器中内置的定制调度机制。我更希望不必使用GWT测试基础设施强加的所有脚手架,但我将介绍您参考的内置GWT测试工具。谢谢这种机制是否适用于生产系统?例如,我可以用它向我的客户提供客户端JavaAPI吗?是的,当然可以。但是,对于第三方访问,您必须/应该在服务器端实施访问控制,因为上面的URL似乎已失效,请查看项目的Google代码站点: