Java GWT RPC-多个RPC服务
我遇到了将大型RPC服务拆分为较小的块的问题。我在这里找到了基础知识,但我正在努力实现。我在任何地方都找不到好的导游。我对下面的部分感到困惑。(目标是将一个大型RPC拆分为两个较小的RPC)Java GWT RPC-多个RPC服务,java,gwt,servlets,rpc,Java,Gwt,Servlets,Rpc,我遇到了将大型RPC服务拆分为较小的块的问题。我在这里找到了基础知识,但我正在努力实现。我在任何地方都找不到好的导游。我对下面的部分感到困惑。(目标是将一个大型RPC拆分为两个较小的RPC) 我在模块xml文件中创建了一个servlet类 在web.xml中,我创建了一个servlet和一个带有2个servlet URL的servlet映射。第一个servlet是“主servlet”,与模块xml文件中的servlet相同。第二个是身份验证servlet 我为这两个servlet提供了一个同步和
也就是说,是的,您可以为所有接口使用一个servlet,但这不是必需的。当然,您可能只有一个servlet实现所有给定接口,但只要每个RPC接口都有一个指向不同URL的
@RemoteServiceRelativePath
,并且每个URL在web.xml
中映射到不同的servlet,每个Servlet只需实现指向它的一个接口。请添加其余错误(即“关联的异常以获取详细信息”)。已添加完整错误。您是否在从RemoteService扩展的所有类上声明了@RemoteServiceRelativePath()?这解决了我的问题,但现在我遇到了一个新问题。为了实现上面链接中的想法,我的“主servlet”需要实现两个servlet的接口。但这意味着“主servlet”中仍然包含所有方法。这是我试图避免的主要事情。我能想到的唯一解决方案是实现两个接口并将调用重定向到第二个servlet。但这并不是我从分离rpc的想法中所期望的。正确-否则,每个人如何知道在服务器上点击哪个URL来发送和接收数据?调用setServiceEntryPoint(String)
是另一个选项,而不是将@RemoteServiceRelativePath
添加到RPC接口-两者都实现了相同的基本目标。
com.google.gwt.user.client.rpc.ServiceDefTarget$NoServiceEntryPointSpecifiedException: Service implementation URL not specified
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy.doPrepareRequestBuilderImpl(RemoteServiceProxy.java:430)
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy.doInvoke(RemoteServiceProxy.java:368)
at com.google.gwt.user.client.rpc.impl.RemoteServiceProxy$ServiceHelper.finish(RemoteServiceProxy.java:74)
at com.projects.client.AuthService_Proxy.signIn(AuthService_Proxy.java:44)
at com.projects.client.Authentication.signIn(Authentication.java:38)
at com.projects.client.Project.onModuleLoad(Project.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
I believe I'd have to make a new servlet for each one.