This week's book giveaway is in the Agile and Other Processes forum.
We're giving away four copies of The Little Book of Impediments (e-book only) and have Tom Perry on-line!
See this thread for details.
Win a copy of The Little Book of Impediments (e-book only) this week in the Agile and Other Processes forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

attributeReplaced() of HttpSessionAttributeListener ?

 
hasan khan
Ranch Hand
Posts: 223
Eclipse IDE Firefox Browser Java
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
i am using Person class as a attribute class for the sessions
i am adding this as
session.setAttribute("person", objPerson1);

i am replacing this attribute with another instance of Person like this
session.setAttribute("person", objPerson2);

so in this case
attributeReplaced() is called
on calling getValue() of HttpSessionBindingEvent class i am getting old value.

but when Person class implements HttpSessionBindingListner, getValue() inside
attributeReplaced() is returing new value.

this is really confusing for me, as this is no where stated in the documentation

 
Patrick Williams
Ranch Hand
Posts: 213
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
From Mikalai Zaikin's study guide (and I think that he gets it from the spec).

Events of the following type are either sent to an object that implements HttpSessionBindingListener when it is bound or unbound from a session, or to a HttpSessionAttributeListener that has been configured in the deployment descriptor when any attribute is bound, unbound or replaced in a session. The session binds the object by a call to HttpSession.setAttribute and unbinds the object by a call to HttpSession.removeAttribute. The getValue function returns the value of the attribute that has been added, removed or replaced. If the attribute was added (or bound), this is the value of the attribute. If the attribute was removed (or unbound), this is the value of the removed attribute. If the attribute was replaced, this is the OLD value of the attribute.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic