8

有直接从 Java 代码调用 GWT RPC 服务端点的简单方法吗?我的意思是真正的 Java 代码,而不是编译成 javascript 的 Java 代码。

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

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

4

3 回答 3

10

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

有关详细信息,请参阅http://www.gdevelop.com/w/blog/2010/01/10/testing-gwt-rpc-services/

于 2010-03-02T00:57:12.483 回答
1

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

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

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

于 2009-08-26T05:36:39.303 回答
0

您可以使用像 Grinder 这样的传统负载测试工具来重放对您的服务的发布请求。这不是您所要求的,但它可能是对您的应用程序执行负载测试的更好方法。Grinder 可以同时模拟多个用户等等。

于 2009-08-26T03:10:31.563 回答