Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Sporadic deployment issues with Weblogic 12.2.1 #440
We recently started utilizing Omnifaces 2.6.4 in our web application and not soon after started to get random deployment failures which would force us to cycle weblogic to recover. I say random because it seems to be a race condition surrounding when WELD is initialized vs when JSF/Omnifaces is initialized. We found your compatibility matrix in the wiki indicating that 2.4 is the recommended version for WL 12.2.1. We moved to that version and deployments are no longer failing. I created a script that wraps a command line deployment utility and am able to routinely get a failed deployment with versions 2.5+ within 30 attempts. Once we roll back to 2.4, I've cycled through the deployment 60+ times without issue.
I created a basic JSF app that depends on Omnifaces 2.6.4 and Primefaces 6.1 to verify the problem. Looking at the WELD jar that contains SimpleCdi, the manifest reports that it is version 2.3.2.
I think this surrounds WELD because you changed how you get a handle on CDI in org.omnifaces.ApplicationListener between version 2.4 and 2.5.
When a deployment does fail, I get the "NOPE" error from omnifaces explaining the system requirements and the fact that Omnifaces couldn't initialize.
Thanks for any light you can shed on this issue.
The relevant stack is:
Before 2.5 it looks up for CDI BeanManager in JNDI.
After 2.5 it pokes CDI.current().getBeanManager(), which apparently is prone to timing errors in WebLogic (it's not initialized first thing during webapp startup).
Perhaps I'd better add the JNDI lookup back as fallback.
Hi BalusC, Thanks for working a fix for this. I finally got around to trying this out and it seems to have done the trick, but noticed I never see the log message you added with your change. Do you know how to force Weblogic to log a "FINE" log message? I tried adding