Community
Participate
Working Groups
Our method of caching global helper contexts for JBoss (and presumably WAS) via application name is not sufficient, as deserialization will fail after a redeployment has occurred. This is due to the fact that the application name will be the same after a redeploy, but the class loader will not. We perform the look up in the global context map using the application name, and find the one we stored during the previous deployment, with an invalid class loader. Since the loaders are different exceptions will occur during deserialize. We will need to be able to determine if a redeployment has occurred.
Created attachment 167321 [details] Proposed fix
Created attachment 167374 [details] Proposed fix v2 Includes minor changes based on the review.
Created attachment 168175 [details] Proposed fix v3 The last proposed fix was breaking WLS. Since WLS has listener code in place to handle a redeployment, and OC4J will always cache on classloader, we should only get into the 'new' code block that checks for redeploy for WAS and JBOSS, and only then if keyed on application name.
Reviewed by: matt.macivor@oracle.com; blaise.doughan@oracle.com Tests: WAS, WLS and JBoss server tests pass (redeploy test on JBoss passes) and SDO Unit tests pass as expected
The Eclipselink project has moved to Github: https://github.com/eclipse-ee4j/eclipselink