The problem is that i have another controls (filter query) on my page, that's why i can't hit DB only when  clients==null (filter values are not updated yet at this phase). Is there any way to get phaseID in getter method of managed bean ?
 
Thanks
----- Original Message -----
Sent: Thursday, June 01, 2006 2:37 PM
Subject: Re: getter called few times

Hi,

There are several reasons why getters are called more than once, for example, checking for value changes, rendering and etc.

You can try lazy initialization to fetch only once like;

private List clients;

public List getClients() {
 if(clients == null)
   clients = fetchFromDB();
return clients;
}

First call to the getter will hit the db and set the clients list, other calls will just return the same list and not hit the db.

Cagatay

On 6/1/06, Furer Alexander <[EMAIL PROTECTED]> wrote:
Hi
Why getter method of managed bean called few times for particular phase ?
I have "clients" (List)  property of managed bean, getter method fetchs List from DB, how can i fetch only once   ?
Below  is call trace for it's getter/setter:
Thanks

BEFORE RESTORE_VIEW(1)

setClients, size: 17

AFTER RESTORE_VIEW(1)

BEFORE APPLY_REQUEST_VALUES(2)

getClients, size: 17

getClients, size: 17

getClients, size: 17

AFTER APPLY_REQUEST_VALUES(2)

BEFORE PROCESS_VALIDATIONS(3)

getClients, size: 17

getClients, size: 17

AFTER PROCESS_VALIDATIONS(3)

BEFORE UPDATE_MODEL_VALUES(4)

getClients, size: 19

getClients, size: 19

AFTER UPDATE_MODEL_VALUES(4)

BEFORE INVOKE_APPLICATION(5)

AFTER INVOKE_APPLICATION(5)

BEFORE RENDER_RESPONSE(6)

getClients, size: 19

getClients, size: 19

getClients, size: 19

getClients, size: 19

getClients, size: 19

getClients, size: 19

getClients, size: 19

AFTER RENDER_RESPONSE(6)


Reply via email to