On Thu, Jun 28, 2012 at 5:29 AM, Lance Java <lance.j...@googlemail.com>wrote:

> Tapestry IOC configuration happens once, when the app is started. It
> determines the symbols, constructs services and wires them all together.
> After that, Tapestry IOC's job is done and all of the services are acting
> upon the config they were provided during construction after that.
>
> If you want to change values at runtime, it will be via custom events on
> your services. Changing symbols will have no effect as each service has
> done
> it's own custom thing with the symbol (for example connecting to a database
> or writing a file etc).
>
> I think you need to think about exactly what is changing. Perhaps selected
> services can listen for changes to some configuration object and act
> appropriately?
>
>
Tapestry has tended to make design decisions that enforced stability,
predictability, and performance over runtime flexibility.  Although I can
see the desire to change configuration on-the-fly, this complicates the
implementation of services, as they go from having a simple singleton
lifecycle to something more complicated and aware of state changes to
configuration.

For Tapestry internals, especially, I prefer my services to have no mutable
internal state (wherever possible); that is, all fields final, storing
immutable values.  This isn't always practical; some services have mutable
caches of useful data and there's an overhead cost to maintaining that
(and, in development mode, clearing it when the external world changes).

That being said, I've long wanted to have a Dashboard page that could
present information about different parts of the running application, and
perhaps allow it to be modified or otherwise interacted.  This would roll
up PageCatalog and ServiceStatus, and be extensible.  I've also wanted to
have a lightweight way of having services describe their internal state in
a semi-structured fashion.


> --
> View this message in context:
> http://tapestry.1045711.n5.nabble.com/Tapestry-app-live-console-tp5714144p5714152.html
> Sent from the Tapestry - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>


-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

Reply via email to