berg369 2020-07-25 03:45 采纳率: 85.7%
浏览 205
已采纳

dubbo调用(API方式)如何缓存ServiceConfig对象?

dubbo官方文档中,API方式调用代码示例如下:

...以上有服务提供者协议配置代码,此处省略

// 服务提供者暴露服务配置
ServiceConfig<XxxService> service = new ServiceConfig<XxxService>(); // 此实例很重,封装了与注册中心的连接,请自行缓存,否则可能造成内存和连接泄漏
service.setApplication(application);
service.setRegistry(registry); // 多个注册中心可以用setRegistries()
service.setProtocol(protocol); // 多个协议可以用setProtocols()
service.setInterface(XxxService.class);
service.setRef(xxxService);
service.setVersion("1.0.0");

// 暴露及注册服务
service.export();

这里的自行缓存应该怎么做呢?
我们会有很多接口需要暴露为服务,每个服务要初始化一个ServiceConfig对象吗?看这个写法是要的(接口作为ServiceConfig的参数?),那怎么缓存呢?
请指教!谢谢!

  • 写回答

3条回答 默认 最新

  • threenewbee 2020-07-25 11:26
    关注

    可以用一个单例模式的对象,保存new创建的serviceconfig

    class Singleton
    {
    private static ServiceConfig<XxxService> service = new ServiceConfig<XxxService>();
    private Singleton() { }
    public static ServiceConfig<XxxService> GetServiceConfig() { return service; }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已采纳回答 10月11日

悬赏问题

  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换