Programming Grails - Cdn.oreilly.com
Programming Grails - Cdn.oreilly.com
Programming Grails - Cdn.oreilly.com
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Monitoring and the Cloud Foundry UI Plugin 271<br />
Heroku 275<br />
Database Applications 275<br />
Scaling 280<br />
Build Packs 281<br />
Other Providers 282<br />
Other Uses for Cloud Services 282<br />
11. AOP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283<br />
<strong>Grails</strong> Filters 284<br />
HTTP Filters 286<br />
Groovy AOP 287<br />
Registering Metaclass Interceptors 290<br />
Error Code URL Mappings 291<br />
Spring AOP 291<br />
Enabling Spring AOP 293<br />
Defining AspectJ-Annotated Aspects 294<br />
Compile-Time Weaving 297<br />
12. Upgrading Applications and Plugins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305<br />
Why Doesn’t the Upgrade Script Do More? 308<br />
A General Approach to Upgrading 310<br />
Upgrading Petclinic: A Case Study 311<br />
A Short History of <strong>Grails</strong> 320<br />
<strong>Grails</strong> 1.2 320<br />
<strong>Grails</strong> 1.2.2 321<br />
<strong>Grails</strong> 1.2.4 321<br />
<strong>Grails</strong> 1.3 322<br />
<strong>Grails</strong> 1.3.1 323<br />
<strong>Grails</strong> 1.3.2 323<br />
<strong>Grails</strong> 1.3.4 323<br />
<strong>Grails</strong> 1.3.6 324<br />
<strong>Grails</strong> 1.3.7 324<br />
<strong>Grails</strong> 1.3.8 324<br />
<strong>Grails</strong> 1.3.9 324<br />
<strong>Grails</strong> 2.0 325<br />
<strong>Grails</strong> 2.0.2 331<br />
<strong>Grails</strong> 2.1.x 331<br />
<strong>Grails</strong> 2.2.x 331<br />
Notes on Upgrading 331<br />
Index. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333<br />
Table of Contents | ix