Applies to ADF 11.1.1.2 and WLS 10.3.2
Problem description
1. stop datasource
2. stop app (all requests)
3. start datasource
4. start app (servicing all requests)
Call :/http://<host>:<port>/<context>
Expected
Functional ADF Application
Instead got
Analyzing
a)Take a look into <domain_home>/servers/<servername>/logs/<servername>.log
Caused By: java.lang.ClassCastException: oracle.adf.controller.internal.binding.DCTaskFlowBinding cannot be cast to oracle.adf.controller.internal.binding.DCTaskFlowBinding
at oracle.adf.controller.internal.binding.DCTaskFlowBindingDef.initializeExecutableBinding(DCTaskFlowBindingDef.java:301)
at oracle.adf.model.binding.DCBindingContainerDef.createExecutables(DCBindingContainerDef.java:590)
at oracle.adf.model.binding.DCBindingContainerDef.initializeBindingContainer(DCBindingContainerDef.java:728)
at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer(DCBindingContainerDef.java:944)
at oracle.adf.model.binding.DCBindingContainerReference.createBindingContainer(DCBindingContainerReference.java:152)
at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer(DCBindingContainerReference.java:92)
at oracle.adf.model.BindingContext.get(BindingContext.java:908)
b)
Never seen that before! Where does all those .appmergegen hidden folders coming from?
Action
a) Googling. => not much information on this:(
b) rm -rf .appmergegen*
Test again
1. stop datasource
2. stop app
3. start datasource
4. start app
Call http://<host>:<port>/<context>
=> Application works as expected! But after a few more redeployments the internal error (500) occurs again.
Further research
a) Find out where all those .appmergegen hidden folders coming from? It seems that this leads in the end to a class loading problem.
b) How to make sure, the application will not fall into this situation again?
Any comments are greatly appreciated....
Hello Andreas,
ReplyDeleteIn the meantime do you have any additional information on these hidden folders?
I notice it also on my environment.
Regards,
Wing
Hi Andreas,
ReplyDeleteWe're experiencing the same problem. Because its not reproducable I'm just curious if you ever ran into the problem again after removing all the .appmergegen* and restarting?
regards,
Gerben
Hi Andreas,
ReplyDeleteThis seems to be a classloading issue. Were you able to resolve your problem?
Thanks,
Praveen.
Hi,
ReplyDeletelast week we had this case (.appmergegen folders, wls 10.3.2) on a customers production system, but with no side effects. We advised to delete these folders to prevent any problems...
I have still no idea under which circumstances these folders are generated. Maybe during a failed deployment or so?
Andreas.
as far as i can tell these folders get created when deploying the application (when the JVM starts). In my case i deploy an .ear file that contains 3 .wars files. You'll see a directory spawn for each .war under an .ear file or 1 for each .war. They're supposed to be temporary and can be deleted without consequence. They'll be recreated each time. You'd think WL would clear them out each time you restart but nope :)
ReplyDelete