A quick note about using the marshaller vs. locating your classes as Jason's
suggested:
If you follow the approach Jason outlined, you can leave your objects in the cache
instance in that VM. When you redeploy your webapp, it will be able to access those
existing objects, with no problem.
With the marshaller, if you look at the example I mentioned you'll see it calls
inactivateRegion() when you stop the webapp. That's the key thing. That call
basically empties the local cache -- no objects left behind whose classes were loaded by
the old classloader. When you deploy the webapp again, activateRegion() gets called,
which will trigger a state transfer from another node in the cluster. When the transfer
occurs, as part of deserializing the transferred objects, the required classes will be
loaded from the new classloader.
That state transfer is a more complex process than simply using objects that are already
cached locally. It also won't work if you simultaneously redeploy the webapp on all
nodes in the cluster -- no one will have state to transfer if you do that!
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4093837#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...