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 9138675
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 17, 20262026-06-17T09:17:16+00:00 2026-06-17T09:17:16+00:00

Lets say I have a managed bean called A that is @RequestScoped Let’s say

  • 0

Lets say I have a managed bean called A that is @RequestScoped Let’s say A has a reference to another managed bean B and B is declared to be @SessionScoped. Will the fact that A has a reference to another bean with longer scope prevent A from getting garbage collected at the end of the HttpRequest?

Will the situation change the other way around ie if B contains a reference to A? if yes then why ?

  • 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-06-17T09:17:17+00:00Added an answer on June 17, 2026 at 9:17 am

    Will the fact that A has a reference to another bean with longer scope prevent A from getting garbage collected at the end of the HttpRequest?

    No, an object instance is only eligible for GC if there are no references to it anymore.

    A request scoped bean is by default only referenced in the current HTTP request (as a request attribute). So if the HTTP request is finished and get destroyed, then the request scoped bean becomes completely dereferenced and is thus eligible for GC. That the request scoped bean in turn contains a reference to a session scoped bean is totally irrelevant to the GC. Only when the session scoped bean is not referenced anywhere (i.e. when the session has expired, for example), then the session scoped bean becomes in turn also eliglible for GC.


    Will the situation change the other way around ie if B contains a reference to A? if yes then why ?

    Yes, it will change. A session scoped bean is by default only referenced in the HTTP session (as a session attribute), which lives longer than the HTTP request. So the request scoped bean will live as long as the established HTTP session. This will cause potential data integrity problems because you’re referencing something which supposedly shouldn’t live that long. That’s one of the reasons why JSF doesn’t allow you injecting a narrower scoped bean in a wider scoped bean by @ManagedProperty.

    All with all, the managed bean scope shouldn’t be chosen based on GC behavior, but on the data it holds. See also How to choose the right bean scope?

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

Sidebar

Related Questions

Let's say I have this action in a JSF Managed Bean: public String doSomething()
Lets say I have a class A that is fairly simple like this -
lets say i have one array a = numpy.arange(8*6*3).reshape((8, 6, 3)) #and another: l
my problem is that I have one version of my android application (lets say
I would have question regarding web services. Let's say I have webservice client that
Let's say I have an interface called SocialNetworkService , and three implementations - TwitterService
Lets say that i have this block of text public function __construct() { parent::__construct();
Lets say have this immutable record type: public class Record { public Record(int x,
Lets say we have a table here, populated with the following data: acc_id1 acc_id2
Lets say I have five tables named table1, table2 ... table5. I have already

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.