0

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

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

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

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

我觉得我想错了如何使用它。

欢迎每一个想法、链接或提示!

编辑

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

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

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

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

我找到了这篇关于查找数据传输的简短文章,但对我来说这听起来不对,因为对象似乎从未从查找中释放。

4

1 回答 1

1

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

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

于 2013-04-13T11:55:50.190 回答