Google app engine 在gwt中从另一个服务调用一个服务

Google app engine 在gwt中从另一个服务调用一个服务,google-app-engine,gwt,Google App Engine,Gwt,我们有一个GWT+GAE应用程序,情况如下: 我们有两种不同的表格/页面: 登记为献血者 注册为眼科捐赠者 到目前为止,我们有两个不同的入口点类,它们调用两个不同的服务——一个实现为RegisterBloodOnorServiceImpl,另一个实现为RegisterEyeDonorServiceImpl 现在,我们想实现一个功能,让献血者也可以选择注册为眼部献血者。由于数据几乎相同,因此我们不希望最终用户填写两个表格,而只是提供一个复选框,以便在献血者表格上实现相同的结果 那么,现在的问题是我

我们有一个GWT+GAE应用程序,情况如下:

我们有两种不同的表格/页面:

  • 登记为献血者
  • 注册为眼科捐赠者
  • 到目前为止,我们有两个不同的入口点类,它们调用两个不同的服务——一个实现为RegisterBloodOnorServiceImpl,另一个实现为RegisterEyeDonorServiceImpl

    现在,我们想实现一个功能,让献血者也可以选择注册为眼部献血者。由于数据几乎相同,因此我们不希望最终用户填写两个表格,而只是提供一个复选框,以便在献血者表格上实现相同的结果

    那么,现在的问题是我们应该如何实施它

  • 在献血者数据保存在服务中后,我们是否应该从RegisterBloodDonorServiceImpl内部调用RegisteredOnorServiceImpl?如果是,那么我们不确定如何从另一个服务调用一个服务

  • 我们应该在entrypoint实现类中依次调用两个服务吗

  • 还有更好的主意吗


  • 当我们的项目中有需要从多个服务调用的代码时,我们发现最好从
    *serviceinpl
    类中提取代码,并将其提取到自己的类中。然后,每个服务都可以根据需要保存自己的此类实例


    因此,在您的情况下,我建议使用
    registerEyeDonor
    这样的方法创建一个名为
    EyeDonorServiceCalls
    的类
    registerEyeDonor服务impl
    将保留此类的实例,并在收到适当的服务调用时调用
    registerEyeDonor
    RegisterBloodOnorServiceImpl
    将保留另一个实例,如果勾选了相应的复选框,则作为献血者注册的一部分,调用
    registerEyeDonor

    通过“服务”,你是说GWT RPC服务吗?是的,GWT RPC服务使用定义MySync.java和MyAsync.java的格式,impl作为MyServiceImpl.java结构在同一应用程序中提供服务吗?如果是这种情况,您应该直接调用类,而不必通过RPCYE,因为它们都在同一个应用程序中。虽然我在想,这是否是处理这种情况的好方法?嗨,我想说的是双重肯定,你的意思是,将眼球捐赠者注册的全部功能转移到一个新类,在眼球捐赠者服务中,impl只是通过创建和实例调用这个类,并以同样的方式从bloodDonorImpl类中执行?是的,没错。在极端情况下,*Impl类中几乎没有代码,只调用新类。在我们的解决方案中,服务仍然负责身份验证,并且它们负责创建和关闭数据库连接,这使我们的代码更易于测试。你应该做最适合你的事!