【问题标题】:How to destroy singleton when activity is reset?重置活动时如何销毁单例?
【发布时间】:2018-07-26 11:31:56
【问题描述】:

我使用 gwt 2.8 和 google-gin 2.12

我想将一些对象注入到深度自定义com.google.gwt.user.client.ui.composite。

例如,此组合可能包含一个面板,该面板包含其他 UIBinded 视图,该视图可以包含其他嵌套元素...

DeepComposite
    \ APanel
        \ AnObjectToShare
        \ View1
        \ View2
            \ AnotherPanel
                \ AnObjectToShare
        \ View3
            \ AnObjectToShare

您可以在这个层次结构中看到一个 AnObjectToShare 我需要在各个级别访问。

我的第一个反应是将其注入为Scope.SINGLETON。但是今天我觉得它太麻烦了,好像我运行一个新的活动来初始化一个新的 DeepComposite (这是我的 g-in-jection 上下文的起点),我以前的 AnObjectToShare 实例被重用。

要恢复,我正在寻找一种方法使我的单例仅在我当前的上下文中成为单例。或者一种重置我的单身人士的方法。或解决此问题的任何其他想法或解决方法。

【问题讨论】:

    标签: java gwt gwt-gin


    【解决方案1】:

    很遗憾,GIN 不支持自定义范围;但也许你可以迁移到 Dagger? (这将支持您的用例)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多