Message Boards

Deploy Liferay 6.2 ga 6 + Weblogic 12 c

Victor Salgado, modified 7 Years ago.

Deploy Liferay 6.2 ga 6 + Weblogic 12 c

New Member Posts: 3 Join Date: 7/30/12 Recent Posts
Hi guys.

I have problems deploying liferay over weblogic 12 c, this is a cluster installation and have 2 weeks trying to deploy.

I follow the guide on developer network and tips for liferay over weblogic 12 and 10:
https://dev.liferay.com/discover/deployment/-/knowledge_base/6-2/installing-liferay-on-oracle-weblogic-12c-12-1-2-and-h

I have tried moving xercesImpl and other libs to domain lib folder but keep asking for more jars, its like weblogic cant load packages from web inf lib, i tried changing weblogic.xml prefer web inf and prefer application packages, moving commons lang to jre lib endorsed but nothing. Its my first time in weblogic and iam googling from 2 weeks for a solution but cant success.

do i miss something?

Thanks in advance for comments.
Cheers.

My english is not so good hope you understand.

In weblogic log i got this

####<dec 13, 2016 4:43:26 am utc> <info> <servletcontext-> <opmidqa01-wls-1.compute-a423821.oraclecloud.internal> <opmidqa0_server_1> &lt;[STANDBY] ExecuteThread: '44' for queue: 'weblogic.kernel.Default (self-tuning)'&gt; &lt;<anonymous>&gt; &lt;&gt; <d120c23d-2bc2-41d3-93ee-0fbb178381cf-0000004d> &lt;1481604206013&gt; &lt;[severity-value: 64] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] &gt; <bea-000000> <initializing spring root webapplicationcontext> 
####<dec 13, 2016 4:43:26 am utc> <warning> <http> <opmidqa01-wls-1.compute-a423821.oraclecloud.internal> <opmidqa0_server_1> &lt;[STANDBY] ExecuteThread: '44' for queue: 'weblogic.kernel.Default (self-tuning)'&gt; &lt;<wls kernel>&gt; &lt;&gt; <d120c23d-2bc2-41d3-93ee-0fbb178381cf-0000004d> &lt;1481604206315&gt; &lt;[severity-value: 16] [rid: 0] [partition-id: 0] [partition-name: DOMAIN] &gt; <bea-101162> <user defined listener com.liferay.portal.spring.context.portalcontextloaderlistener failed: java.lang.nullpointerexception. java.lang.nullpointerexception at com.liferay.portal.kernel.dao.orm.findercacheutil.clearcache(findercacheutil.java:27) com.liferay.portal.spring.context.portalcontextloaderlistener.contextinitialized(portalcontextloaderlistener.java:263) weblogic.servlet.internal.eventsmanager$firecontextlisteneraction.run(eventsmanager.java:725) weblogic.security.acl.internal.authenticatedsubject.doas(authenticatedsubject.java:326) weblogic.security.service.securitymanager.runasforusercode(securitymanager.java:196) weblogic.servlet.provider.wlssecurityprovider.runasforusercode(wlssecurityprovider.java:203) weblogic.servlet.provider.wlssubjecthandle.run(wlssubjecthandle.java:71) weblogic.servlet.internal.eventsmanager.executecontextlistener(eventsmanager.java:251) weblogic.servlet.internal.eventsmanager.notifycontextcreatedevent(eventsmanager.java:204) weblogic.servlet.internal.eventsmanager.notifycontextcreatedevent(eventsmanager.java:189) weblogic.servlet.internal.webappservletcontext.preloadresources(webappservletcontext.java:1910) weblogic.servlet.internal.webappservletcontext.start(webappservletcontext.java:3063) weblogic.servlet.internal.webappmodule.startcontexts(webappmodule.java:1830) weblogic.servlet.internal.webappmodule.start(webappmodule.java:875) weblogic.application.internal.extensiblemodulewrapper$startstatechange.next(extensiblemodulewrapper.java:360) weblogic.application.internal.extensiblemodulewrapper$startstatechange.next(extensiblemodulewrapper.java:356) weblogic.application.utils.statemachinedriver.nextstate(statemachinedriver.java:45) weblogic.application.internal.extensiblemodulewrapper.start(extensiblemodulewrapper.java:138) weblogic.application.internal.flow.modulelistenerinvoker.start(modulelistenerinvoker.java:124) weblogic.application.internal.flow.modulestatedriver$3.next(modulestatedriver.java:237) weblogic.application.internal.flow.modulestatedriver$3.next(modulestatedriver.java:232) weblogic.application.internal.flow.modulestatedriver.start(modulestatedriver.java:82) weblogic.application.internal.flow.startmodulesflow.activate(startmodulesflow.java:52) weblogic.application.internal.basedeployment$2.next(basedeployment.java:753) weblogic.application.internal.basedeployment.activate(basedeployment.java:263) weblogic.application.internal.singlemoduledeployment.activate(singlemoduledeployment.java:53) weblogic.application.internal.deploymentstatechecker.activate(deploymentstatechecker.java:165) weblogic.deploy.internal.targetserver.appcontainerinvoker.activate(appcontainerinvoker.java:80) weblogic.deploy.internal.targetserver.basicdeployment.activate(basicdeployment.java:265) weblogic.deploy.internal.targetserver.basicdeployment.activatefromserverlifecycle(basicdeployment.java:481) weblogic.management.deploy.internal.deploymentadapter$1.doactivate(deploymentadapter.java:53) weblogic.management.deploy.internal.deploymentadapter.activate(deploymentadapter.java:202) weblogic.management.deploy.internal.apptransition$2.transitionapp(apptransition.java:52) weblogic.management.deploy.internal.configureddeployments$2.doitem(configureddeployments.java:592) weblogic.management.deploy.internal.parallel.bucketinvoker$2.run(bucketinvoker.java:95) weblogic.work.contextwrap.run(contextwrap.java:46) weblogic.work.selftuningworkmanagerimpl$workadapterimpl.run(selftuningworkmanagerimpl.java:643) weblogic.invocation.componentinvocationcontextmanager._runas(componentinvocationcontextmanager.java:348) weblogic.invocation.componentinvocationcontextmanager.runas(componentinvocationcontextmanager.java:333) weblogic.work.livepartitionutility.dorunworkundercontext(livepartitionutility.java:54) weblogic.work.partitionutility.runworkundercontext(partitionutility.java:41) weblogic.work.selftuningworkmanagerimpl.runworkundercontext(selftuningworkmanagerimpl.java:617) weblogic.work.executethread.execute(executethread.java:397) weblogic.work.executethread.run(executethread.java:346)> 

</user></bea-101162></d120c23d-2bc2-41d3-93ee-0fbb178381cf-0000004d></wls></opmidqa0_server_1></opmidqa01-wls-1.compute-a423821.oraclecloud.internal></http></warning></dec></initializing></bea-000000></d120c23d-2bc2-41d3-93ee-0fbb178381cf-0000004d></anonymous></opmidqa0_server_1></opmidqa01-wls-1.compute-a423821.oraclecloud.internal></servletcontext-></info></dec>


In liferay Log i got this. For all META-INF/xxxxxxx-spring.xml


04:43:26,286 ERROR [[STANDBY] ExecuteThread: '44' for queue: 'weblogic.kernel.Default (self-tuning)'][PortalApplicationContext:89] org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/monitoring-spring.xml]; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.xerces.impl.xs.XMLSchemaValidator
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/monitoring-spring.xml]; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.apache.xerces.impl.xs.XMLSchemaValidator
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:412)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:334)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:302)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:174)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:209)
	at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
	at com.liferay.portal.spring.context.PortalApplicationContext.loadBeanDefinitions(PortalApplicationContext.java:78)
	at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:94)
	at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:131)
	at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:522)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:436)
	at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384)
	at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
	at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
	at com.liferay.portal.spring.context.PortalContextLoaderListener.contextInitialized(PortalContextLoaderListener.java:246)
	at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:725)
	at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
	at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
	at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
	at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
	at weblogic.servlet.internal.EventsManager.executeContextListener(EventsManager.java:251)
	at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:204)
	at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:189)
	at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1910)
	at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:3063)
	at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1830)
	at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:875)
	at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360)
	at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
	at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:138)
	at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124)
	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:237)
	at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:232)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
	at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:82)
	at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:52)
	at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:753)
	at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
	at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:263)
	at weblogic.application.internal.SingleModuleDeployment.activate(SingleModuleDeployment.java:53)
	at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165)
	at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80)
	at weblogic.deploy.internal.targetserver.BasicDeployment.activate(BasicDeployment.java:265)
	at weblogic.deploy.internal.targetserver.BasicDeployment.activateFromServerLifecycle(BasicDeployment.java:481)
	at weblogic.management.deploy.internal.DeploymentAdapter$1.doActivate(DeploymentAdapter.java:53)
	at weblogic.management.deploy.internal.DeploymentAdapter.activate(DeploymentAdapter.java:202)
	at weblogic.management.deploy.internal.AppTransition$2.transitionApp(AppTransition.java:52)
	at weblogic.management.deploy.internal.ConfiguredDeployments$2.doItem(ConfiguredDeployments.java:592)
	at weblogic.management.deploy.internal.parallel.BucketInvoker$2.run(BucketInvoker.java:95)
	at weblogic.work.ContextWrap.run(ContextWrap.java:46)
	at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:643)
	at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
	at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
	at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
	at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
	at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:617)
	at weblogic.work.ExecuteThread.execute(ExecuteThread.java:397)
	at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.xerces.impl.xs.XMLSchemaValidator
	at org.apache.xerces.parsers.XML11Configuration.configurePipeline(Unknown Source)
	at org.apache.xerces.parsers.XIncludeAwareParserConfiguration.configurePipeline(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
	at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown Source)
	at org.springframework.beans.factory.xml.DefaultDocumentLoader.loadDocument(DefaultDocumentLoader.java:75)
	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:388)
	... 58 more

thumbnail
Andrew Jardine, modified 7 Years ago.

RE: Deploy Liferay 6.2 ga 6 + Weblogic 12 c

Liferay Legend Posts: 2416 Join Date: 12/22/10 Recent Posts
Hi Victor,

NoClassDefFound, from the times I have seen it, usually came from jar conflicts. Basically the version of the constructor for the class that the application wants, is not the same as the version that is loaded into the ClassLoader. I have never deployed Liferay to WebLogic, but regardless of the application server or servlet container, the issue should be the same.

Can you search across the entire WebLogic directory tree to see if there are multiple references to the jar? I found this link on SO -- it is referring to a different library, but the it might be something helpful?

http://stackoverflow.com/questions/7187581/how-to-set-order-of-jars-in-weblogic
Victor Salgado, modified 7 Years ago.

RE: Deploy Liferay 6.2 ga 6 + Weblogic 12 c

New Member Posts: 3 Join Date: 7/30/12 Recent Posts
Hi Andrew,
thanks for your response, thats actually the problem, this weblogic server has bundled a lot of jars like xercesImpl xml-apis, jsf2.0, etc. if i touch them i can destroy others applications living in the server, so my problem is:

if i change the jar load order maybe i can broke those other apps?
I think is not very recommended to deploy liferay in a server with other apps, by performance and this kind of problems.

i actually tried the prefer-web-inf-classes to true and re deploying liferay but still loading those other jars version.
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>

and removing the prefer web inf classes and adding this configuration the problem persist.
<prefer-application-packages>
<package-name>org.apache.*</package-name>
<package-name>antlr.*</package-name>
</prefer-application-packages>

i already followed these instructions from this bug
https://issues.liferay.com/browse/LPS-29145

The client is asking to compile liferay source to ear file and loading all jars as dependency in application.xml becouse we have 1 more week to close this issue or we are going to switch to a simple web application witouth liferay =(, by contract is more easy for them to change the framework than changing the server definition, money things. is this possible or recommended? like as said is almost imposible to change to jboss or tomcat becouse the servers are cloud and already buy license from oracle for this proyect.

Ty and Cheers

Again sorry for my english.
thumbnail
Andrew Jardine, modified 7 Years ago.

RE: Deploy Liferay 6.2 ga 6 + Weblogic 12 c

Liferay Legend Posts: 2416 Join Date: 12/22/10 Recent Posts
Hi Victor,
Your english is probably better than my spanish! so please, not apologies. You have explained your issue quite clearly. emoticon

Ok -- so I know this is just more of the same suggestion, but I found a video about a tool in WebLogic 12c that does classloader analysis: https://www.youtube.com/watch?v=7LYt9pkWCEw

It's very short and looks to be offering the same solution we've been talking about (modifying the descriptor), but perhaps it will give you a little more insight. For example, I noticed in the video that it doesn't just tell you the conflicts, but also the location of the jar that is responsible for the conflicts. Can you try doing what the video suggests and let us know how it goes?