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

  • Home
  • SEARCH
  • 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 85967
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T22:10:20+00:00 2026-05-10T22:10:20+00:00

What is this Execute Around idiom (or similar) I’ve been hearing about? Why might

  • 0

What is this ‘Execute Around’ idiom (or similar) I’ve been hearing about? Why might I use it, and why might I not want to use it?

  • 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. 2026-05-10T22:10:21+00:00Added an answer on May 10, 2026 at 10:10 pm

    Basically it’s the pattern where you write a method to do things which are always required, e.g. resource allocation and clean-up, and make the caller pass in ‘what we want to do with the resource’. For example:

    public interface InputStreamAction {     void useStream(InputStream stream) throws IOException; }  // Somewhere else      public void executeWithFile(String filename, InputStreamAction action)     throws IOException {     InputStream stream = new FileInputStream(filename);     try {         action.useStream(stream);     } finally {         stream.close();     } }  // Calling it executeWithFile('filename.txt', new InputStreamAction() {     public void useStream(InputStream stream) throws IOException     {         // Code to use the stream goes here     } });  // Calling it with Java 8 Lambda Expression: executeWithFile('filename.txt', s -> System.out.println(s.read()));  // Or with Java 8 Method reference: executeWithFile('filename.txt', ClassName::methodName); 

    The calling code doesn’t need to worry about the open/clean-up side – it will be taken care of by executeWithFile.

    This was frankly painful in Java because closures were so wordy, starting with Java 8 lambda expressions can be implemented like in many other languages (e.g. C# lambda expressions, or Groovy), and this special case is handled since Java 7 with try-with-resources and AutoClosable streams.

    Although ‘allocate and clean-up’ is the typical example given, there are plenty of other possible examples – transaction handling, logging, executing some code with more privileges etc. It’s basically a bit like the template method pattern but without inheritance.

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

Sidebar

Related Questions

I am trying to execute this SQL query prior to restoring a .BAK file
I am trying to execute this SQL command: SELECT page.page_namespace, pagelinks.pl_namespace, COUNT(*) FROM page,
I'm having a little problem with the following: When I execute this line: echo
I need a real DBA's opinion. Postgres 8.3 takes 200 ms to execute this
I hit this error while my web application was trying to execute a SELECT
Well basically I have this script that takes a long time to execute and
I tried to execute the DESCRIBE command via a database link, but this was
I've got a Perl script that needs to execute another Perl script. This second
I'm new to JPA so forgive me if not being clear. Basically I want
**Updated: (See below)**I have been looking around for couple of days and can't find

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.