"Isolating class loading domains is nice. Our applications will run happily and safe. But very slowly, when it comes to interacting with each other. This is because each interaction involves passing arguments by value, which means serialization, which means overhead."

My question is this. If I scope my deployments in 4.0.1 by setting the EARDeployer mbean attribute 'Isolated' to true, but leave "CallByValue' attribute set to false, will serialization still take place?

I want to be able to provide different versions of the same deployment, ie. MyDeploymentV1.0.ear and MyDeploymentV2.0.ear which contain different versions of same classes, but without serialization overhead. In other words ... happy, safe and fast.