【问题标题】:Java - Netbeans application - How to use Lookup to transfer data?Java - Netbeans 应用程序 - 如何使用 Lookup 传输数据?
【发布时间】:2013-04-12 14:23:56
【问题描述】:

在 Netbeans 平台 (7.3) 中发现 Lookup 库后,我想知道:(如何)从查找中删除对象?有没有垃圾收集之类的?

我注意到每次向 Lookup 添加对象时,该对象从未从 Lookup 中“释放”,这是非常合乎逻辑的,因为它的目的是保留对象。

浏览了一段时间后(Geertjan 的博客、DZone、NB API 文档等,而不仅仅是“哦,我在 Google 中找不到它!”),我没有找到如何从查找中删除元素,例如.一条消息,将通过 Lookup 发送并在所有侦听器使用后删除。

这向我介绍了这些问题:如何确保给定的“收听顺序”,以及如何知道对象已被所有收听者“阅读”?

我觉得我对如何使用它的想法有误。

欢迎任何想法、链接或提示!

编辑

今晚我在思考这个问题,我看到了如何用另一种方式重新表述它:

是否可以将查找管理器不仅用作服务目录/索引,还可以用作消息传递服务?网上的文档没有给我答案。

因为我会使用它(这就是为什么我写了“我觉得我对如何使用它的想法错了。”),我会将消息放入查找以在其他地方触发操作,但是这意味着消息只能被每个侦听器读取一次,然后被销毁。

主要问题是关于通过查找传输数据,而不仅仅是存储它。

我找到了这个short article about lookup data transfer,但我觉得这听起来不对,因为对象似乎永远不会从查找中释放出来。

【问题讨论】:

    标签: java lookup netbeans-platform listeners


    【解决方案1】:

    我会反过来做。我会将侦听器注册为#ServiceProvider。生成 Object 的部分将从全局查找中请求所有侦听器并调用它们。

    另一种方式可能是使用 InstanceContent。但这可能会导致合同过于松散。

    【讨论】:

    • 请看编辑,我用更简单的方式重新表述了。
    • 好的,第一种方法成功实施。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 2019-06-19
    • 2010-12-14
    • 1970-01-01
    • 2012-05-06
    相关资源
    最近更新 更多