Win a copy of Learn Spring Security (video course) this week in the Spring forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

ServletContext in the clustered environment

 
geeta lalchandani
Ranch Hand
Posts: 118
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
In the api , there is a setter method for the servletContext. In case of the distributed application, there is one ServletContext per JVM.

In case the attributes are set in a context, will it not cause discrepancy among other contexts(on other jvm's)?? Or there is a way they are replicated??
 
Mandar Max
Ranch Hand
Posts: 38
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you read the servlet specification, it will be clear to you that attributes stored in a ServletContext are not meant to be shared across different containers. The attributes are local to the VM in which they are created.


From Servlets 2.3 specification:

Context attributes are local to the VM in which they were created. This prevents ServletContext attributes from being a shared memory store in a distributed container. When information needs to be shared between servlets running in a distributed environment, the information should be placed into a session (See Chapter SRV.7, �Sessions�), stored in a database, or set in an Enterprise JavaBeansTM component.
 
geeta lalchandani
Ranch Hand
Posts: 118
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
That means... if i want to share data, across the application.. and do not want to use listeners or populate some model class. I cannot use the context to share the data..
 
satishkumar janakiraman
Ranch Hand
Posts: 334
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

That means... if i want to share data, across the application.. and do not want to use listeners or populate some model class. I cannot use the context to share the data..


If you want to share the data among servlets you must use either session or database in a distributed envrionment. Because context exists in multiple JVMs.

bye for now
sat
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic