Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3345890
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T01:14:20+00:00 2026-05-18T01:14:20+00:00

The documentation isn’t very clear on this. Can someone illuminate the differences between these

  • 0

The documentation isn’t very clear on this. Can someone illuminate the differences between these two?

@After – Methods annotated with the @After annotation are executed after each action call for this Controller.

@Finally – Methods annotated with the @Finally annotation are executed after each action result is applied from for this Controller.

Would it hurt performance to use @Finally when @After would work?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T01:14:21+00:00Added an answer on May 18, 2026 at 1:14 am

    If you write a small test harness, you will see how this works, but the crux of it is this

    • @Before is called before you action is executed

    • @After is called after your controller has completed its execution, but before the output is rendered to the browser

    • @Finally is called when the results have been posted to the browser.

    So in most cases, @After and @Finally will work for you in the same way, but do have a slight difference, depending on your particular use-case. It shouldn’t make any difference to performance however.

    The test harness that I wrote to prove this, is as follows

    public class Application extends Controller {
    
        @Before
        static void log0() {Logger.info("before: "+ response.out.size());}
        @After
        static void log1() {Logger.info("After: "+ response.out.size());}
        @Finally
        static void log2() {Logger.info("finally: "+ response.out.size());}
    
        public static void index() {
            Logger.info("in index action");
            render();
        }
    }
    

    The output I get is as follows

    20:51:37,741 INFO  ~ before: 0
    20:51:37,742 INFO  ~ in index action
    20:51:38,083 INFO  ~ After: 0
    20:51:38,106 INFO  ~ finally: 706
    

    Which clearly shows the order of processing, and the data being outputted to the the HTTP Response object.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

The MySQL documentation isn't very clear on this. I want to add an index
I'm playing around with mongodb (documentation isn't very complete): tmpQuery = collection.find({title_full: kdsljfklsadfklj}) print
I'm implementing charts using The Ziya Charts Gem . Unfortunately, the documentation isn't really
Documentation can be found here It says in the example: onDrop: Called whenever a
I'm new to Capistrano and unfortunately there isn't enough documentation on the web regarding
I'm writing a plugin for Confluence and there isn't much documentation on what you
Documentation is severely lacking on anything to do with stored procedures in mysql with
Documentation simply states that setting setAutosavingDelay to anything > 0 on the shared doc
The documentation for the round() function states that you pass it a number, and
The documentation with the module itself is pretty thin, and just tends to point

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.