From: Brian G. <br...@qu...> - 2003-07-15 20:16:44
|
>>I think we need some solid use cases first, and then can come up with a >>strategy. Care to describe what your current tools do? > >Just because we haven't written X doesn't mean we shouldn't allow X to >work well. Only if we have already - agreed what X is AND - agreed that X is something we want to work well. Right now, it all feels very abstract to me. The fact that I've not yet seen a use case that needs it argues that it may well be needless abstraction. >+1 for getting rid of destroy(), but only if it is replaced with a >listener mechanism so that CTs can be told when they are no longer needed >by WM, without waiting for GC. Bear in mind that these mechanisms have a cost. You have to keep track of your listeners, and you force users into a mode of explicit deallocation. I don't want users to have to call Context.destroy -- I want to let it get garbage collected. >-1 for getting rid of destroy() without a replacement. finalizers are not >good enough. Components must have the opportunity to tap into their lifecycle. Lifecycles really only make sense for long-lived objects, like Brokers. Contexts should not have a lifecycle -- the overhead of maintaining and managing it is too great. >I think the listener approach gives us the compromise we desire - better >performance while retaining useful functionality. I think you underestimate the cost of the listener approach -- its pretty much the whole recycling/pooling crap we want to get rid of. -- Brian Goetz Quiotix Corporation br...@qu... Tel: 650-843-1300 Fax: 650-324-8032 http://www.quiotix.com |