Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Fixed Related Articles

Wiki Markup
{scrollbar}

Service Implementation Reloading

Since
since5.2

Wiki Markup
{float:right|background=#eee}
{contentbylabel:title=Related Articles|showLabels=false|showSpace=false|space=@self|labels=class-reloading}
{float}

 
Service implementation reloading is the live reloading of Tapestry-IOC service implementation classes without having to stop & restart the servlet container. Available for Tapestry 5.2 and later, it extends the developer productivity gains of Tapestry's Live Class Reloading to your Tapestry-IOC service modules.

Div
stylefloat:right
titleRelated Articles
classaui-label
Content by Label
showLabelsfalse
showSpacefalse
titleRelated Articles
cqllabel = "class-reloading" and space = currentSpace()

Why is this importantTapestry's ability to live reload page and component classes is a huge boon to development productivity, but what about reloading services?

On the one hand, a good application design keeps the page and component classes "thin" and moves logic into the services layer, for easier reuse across pages. On the other hand, moving logic into services is would be less agile if those services dondidn't auto-reload the way Tapestry pages do.

Starting in release 5.2, service implementations are live-reloaded, too. There are several restrictions on this, and a couple of leaky abstractions, but on the whole it's quite serviceable.

...

In an application that is not driven by the web tier, you will need to periodically invoke the fireCheckForUpdates() method of the UpdateListenerHub service (which was moved from tapestry-core to tapestry-ioc for this purpose).

Wiki Markup
{scrollbar}

Div
stylefloat:right
titleRelated Articles
classaui-label
Content by Label
showLabelsfalse
showSpacefalse
titleRelated Articles
cqllabel = "class-reloading" and space = currentSpace()