想知道是否有办法改变其他对象引用的堆上的对象。Java:更改堆上的对象引用?
我特别想做的是管理我的瞬态配置。我正在做的是从JAXB或JPA加载“绑定”配置。我有一个管理器,维护一些线程来检查这些配置存储是否改变。如果他们这样做,我希望再次从存储中加载配置(创建配置的新实例),并用堆中的新配置实例替换“陈旧”配置实例,以便引用配置数据的任何对象都将获得最新。
我知道我可能会遇到一个噩梦,不得不处理分层对象引用 - 但我只是想了解各种可能的方法,然后才决定仅创建文档而不创建本地引用并始终调用从配置管理器,如果你期望最新=)
任何想法如何做到这一点?我对AOP不太熟悉......但从我所了解的情况来看...我认为这可能为实现这一目标提供了一条途径。
任何其他的想法是值得欢迎的,当然=)
史蒂夫
+1马克击败了我的拳头,但这也正是我如何去了解它。与本例中的简单包装对象相比,AOP会过度杀伤。 – rancidfishbreath 2010-08-24 14:38:53
谢谢马克。我想到了这一点,但问题涉及到JAXB/JPA绑定对象。这些将创建一个分层对象结构,支持继承和聚合。虽然“清理”一个集合并重新添加这些项目并不难,但我想找到一个更优雅的解决方案。我也考虑过锁定来处理同步,但我担心那些可能相关的配置,但不在同一个对象内,更不用说同一个getter/setter了。在这种情况下,它几乎需要一个交易。 – 2010-08-24 14:42:10