> There is no code to refactor or contribute up to the base. Zero.
He
> doesn't need to change hte copied base at all. He just needs to
> install a listener on the server / runtime models to find out when a
> runtime disappears and manually call refresh on his CPC. He'd have to
> do this whether it was an as.core base or a copied base or anything.
> The container has a "refresh" method which never gets called on its
> own. The user must call it himself. This behavior is not done
> automatically for you.
>
> So no changes must be made to his CPC, neither the copied abstract
> base nor the subclass. Which means nothing must be contributed up to
> as.classpath
It seems to annoyed you a little, I would like to say we don't mean
it's the problem of your code, we just want to find a solution to solve
the issue, there are maybe many solutions and try to find a better
one, if use the way that you said that installing a listener can solve
it completely,
it's ok, we can use it. I have no idea where the listener should be
installed, can you point out if there is an example about it?
btw. just to let you know Snjezana looked into this yesterday and she
found the exact same fix Denny had did for ESB was the same as the ones
done in WTP's classpath container(s).
So it might not be superperformant but it is good enough for everyone
else and it is a much simpler and reliable fix than listeners (which
might not always be triggered etc. etc.)
And it also turns out that WS, Portal(?) and as far as I understood
Snjezana AS have the same issue so having the fix in the base class
makes perfect sense to me.
If some subclass does not need the dynamic recomputation then override
it in there or add a "requireDynamicRefresh()" to the base to allow
simpler overriding.
/max