Service Implementation Reloading
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 |
---|
style | float:right |
---|
title | Related Articles |
---|
class | aui-label |
---|
|
Content by Label |
---|
showLabels | false |
---|
showSpace | false |
---|
title | Related Articles |
---|
cql | label = "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).
Div |
---|
style | float:right |
---|
title | Related Articles |
---|
class | aui-label |
---|
|
Content by Label |
---|
showLabels | false |
---|
showSpace | false |
---|
title | Related Articles |
---|
cql | label = "class-reloading" and space = currentSpace() |
---|
|
|