jueves, 26 de noviembre de 2015

11.1.1.8.8 STUCK Thread UPDATEVIEWIDTOTABSMAPFORCURRENTNODE

During the review of Oracle WebCenter Portal 11.1.1.8.8 platform we identified that WC_Spaces was having STUCK threads.


STUCK Threads identified in WC_Spaces


Checking the Threads that are in STUCK status you will find the following stack trace:



[STUCK] ExecuteThread: '16' for queue: 'weblogic.kernel.Default (self-tuning)'" RUNNABLE
                     java.util.HashMap.getEntry(HashMap.java:457)
                     java.util.HashMap.get(HashMap.java:416)
            oracle.webcenter.webcenterapp.internal.view.shell.WebCenterTabManagerImpl.updateViewIdToTabsMapForCurrentNode(WebCenterTabManagerImpl.java:848)
            oracle.webcenter.webcenterapp.internal.view.shell.WebCenterTabManagerImpl.updateViewIdToTabsMapForSubTree(WebCenterTabManagerImpl.java:829)
            oracle.webcenter.webcenterapp.internal.view.shell.WebCenterTabManagerImpl.updateViewIdToTabsMapForSubTree(WebCenterTabManagerImpl.java:835)
            oracle.webcenter.webcenterapp.internal.view.shell.handler.WebCenterApplicationShellHandler.prepareTabs(WebCenterApplicationShellHandler.java:1136)
            oracle.webcenter.webcenterapp.internal.view.webapp.WebCenterShellPanelTag._prepareTabsForCurrentRequest(WebCenterShellPanelTag.java:310)
                       oracle.webcenter.webcenterapp.internal.view.webapp.WebCenterShellPanelTag.doStartTag(WebCenterShellPanelTag.java:198)
                     oracle.jsp.runtime.tree.OracleJspBodyTagNode.executeHandler(OracleJspBodyTagNode.java:50

It is a known issue in the 11.1.1.8.8 version and there is a hot fix patch for it.


Patch 21242224: STUCK THREADS INJAVA/UTIL/HASHMAP FROM UPDATEVIEWIDTOTABSMAPFORCURRENTNODE

WCP 12.2.1: Alta Top Navigation Template BUG

There is a BUG in the Alta UI Template provided with Oracle WebCenter Portal 12.2.1

When editing a Page of a Portal which is using Alta Template an incident will raise in your log file

<Warning> <oracle.adfinternal.view.faces.taglib.util.TagUtils> <ADF_FACES-30120> <More than one af:skipLinkTarget found: T:wcCont, T:cpt11:container. Only one af:skipLinkTarget is allowed per page.>
<Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort> <ADFC-64010> <ADFc: Page '/oracle/webcenter/page/scopedMD/s72cbbca4_98aa_454f_8362_f9da775ce41c/Page3fff015d_3303_40c0_b4cb_b69fa20bc7dc.jspx' references task flow binding 'portaltopnavigation' more than once, which is not supported.  The ids of the components referred are: ' T:cpt11:spnvpnRtl T:cpt11:spnvpn'.>
<Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort>
<BEA-000000> <>
<Info> <oracle.dfw.incident> <DFW-40101> <An incident has been signalled with the incident facts: [problemKey=ADFC-00032 [ADFc] incidentSource=SYSTEM incidentTime=Mon Nov 16 16:41:25 GMT 2015 errorMessage=ADFC-32 executionContextId=0059AgKUUSQFw00Fzzw0w00004zB00007k]>
<Warning> <oracle.dfw.incident> <DFW-40125> <incident flood controlled with Problem Key "ADFC-00032 [ADFc]">
<Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort> <ADFC-64010> <ADFc: Page '/oracle/webcenter/page/scopedMD/s72cbbca4_98aa_454f_8362_f9da775ce41c/Page3fff015d_3303_40c0_b4cb_b69fa20bc7dc.jspx' references task flow binding 'spacesActionSubmenu' more than once, which is not supported.  The ids of the components referred are: ' T:cpt11:actnRegionRtl T:cpt11:actnRegion'.>
<Error> <oracle.adf.controller.internal.binding.TaskFlowRegionModelViewPort> <BEA-000000> <>
<Info> <oracle.dfw.incident> <DFW-40101> <An incident has been signalled with the incident facts: [problemKey=ADFC-00032 [ADFc] incidentSource=SYSTEM incidentTime=Mon Nov 16 16:41:25 GMT 2015 errorMessage=ADFC-32 executionContextId=0059AgKUUSQFw00Fzzw0w00004zB00007k]>
<Warning> <oracle.dfw.incident> <DFW-40125> <incident flood controlled with Problem Key "ADFC-00032 [ADFc]">
<Warning> <oracle.adfinternal.view.page.editor.renderkit.PageCustomizableRenderer> <BEA-000000> <A facet named  declared by the toolbarLayout attribute was not found in page /oracle/webcenter/page/scopedMD/s72cbbca4_98aa_454f_8362_f9da775ce41c/Page3fff015d_3303_40c0_b4cb_b69fa20bc7dc.jspx.>



Why does it happen?

If you create a copy of the Alta UI Top Navigation you will find the following snippet of code:

<af:switcher facetName="#{requestContext.rightToLeft? 'rtl' : 'ltr'}">
<f:facet name="ltr">
 <af:panelGroupLayout id="navPanel" layout="vertical" styleClass="WCPortalFixedWidth">
    <af:region id="spnvpn" inlineStyle="margin-right:45px;" value="#{bindings.portaltopnavigation.regionModel}"/>
    <af:panelGroupLayout id="pglbl" inlineStyle="position:absolute;top:0px;right:0px;margin-top:3px;" layout="vertical">
       <af:button clientComponent="true" disabled="#{portalToolbarContext.portalToolbar.editMode}" icon="#{requestContext.rightToLeft ? '/adf/webcenter/agentdropdown_rtl_sm_ena.png' : '/adf/webcenter/agentdropdown_sm_ena.png'}" id="actionsMenuLink" rendered="#{!serviceCtx.scope.spaceTemplate and (WCAppContext.currentScope.default ? ((!AdminConfig.fusionAppsMode and security.homeSpaceEnabled) or security.webCenterAdministrator): empty pageFlowScope.contextActionsTaskFlow)}" shortDesc="#{uib_o_w_w_r_WebCenter['NAV_TOOLS_ACTIONS_FOLDER.DESCRIPTION']}" styleClass="WCActionsButton">
          <af:showPopupBehavior align="afterStart" alignId="actionsMenuLink" popupId="actnRegion:actionsDropdownPopup"/>
       </af:button>
       <af:region id="actnRegion" rendered="#{!serviceCtx.scope.spaceTemplate and (WCAppContext.currentScope.default ? ((!AdminConfig.fusionAppsMode and security.homeSpaceEnabled) or security.webCenterAdministrator): true)}" value="#{bindings.spacesActionSubmenu.regionModel}"/>
    </af:panelGroupLayout>
 </af:panelGroupLayout>
</f:facet>
<f:facet name="rtl">
 <af:panelGroupLayout id="navPanelRtl" layout="vertical" styleClass="WCPortalFixedWidth">
    <af:panelGroupLayout id="pglblRtl" inlineStyle="position:absolute;top:0px;left:0px;margin-top:3px;" layout="vertical">
       <af:button clientComponent="true" icon="#{requestContext.rightToLeft ? '/adf/webcenter/agentdropdown_rtl_sm_ena.png' : '/adf/webcenter/agentdropdown_sm_ena.png'}" id="actionsMenuLinkRtl" rendered="#{!serviceCtx.scope.spaceTemplate and (WCAppContext.currentScope.default ? ((!AdminConfig.fusionAppsMode and security.homeSpaceEnabled) or security.webCenterAdministrator): empty pageFlowScope.contextActionsTaskFlow)}" shortDesc="#{uib_o_w_w_r_WebCenter['NAV_TOOLS_ACTIONS_FOLDER.DESCRIPTION']}" styleClass="WCActionsButton">
          <af:showPopupBehavior align="afterStart" alignId="actionsMenuLinkRtl" popupId="actnRegionRtl:actionsDropdownPopup"/>
       </af:button>
       <af:region id="actnRegionRtl" rendered="#{!serviceCtx.scope.spaceTemplate and (WCAppContext.currentScope.default ? ((!AdminConfig.fusionAppsMode and security.homeSpaceEnabled) or security.webCenterAdministrator): true)}" value="#{bindings.spacesActionSubmenu.regionModel}"/>
    </af:panelGroupLayout>
    <af:region id="spnvpnRtl" inlineStyle="margin-left:45px;" value="#{bindings.portaltopnavigation.regionModel}"/>
 </af:panelGroupLayout>
</f:facet>
</af:switcher>


The rendered expression evaluates to true when you are Editing the page and it will produce the Incident of the duplication.

A bug fixing will come in future bundle patch. Alternatively you can create a copy of the Template and fix it manually.

WCP 12.2.1: URI scheme is not "file"

After a fresh installation of Oracle WebCenter Portal 12.2.1 you will find the following annoying Stack Trace that it is repeated hundred of times.

<Warning> <org.eclipse.persistence.jaxb.BeanValidationHelper> <BEA-000000> <Error parsing validation.xml the async way
java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: URI scheme is not "file"
                at java.util.concurrent.FutureTask.report(FutureTask.java:122)
                at java.util.concurrent.FutureTask.get(FutureTask.java:192)
                at org.eclipse.persistence.jaxb.BeanValidationHelper.getConstraintsMap(BeanValidationHelper.java:139)
                at org.eclipse.persistence.jaxb.BeanValidationHelper.isConstrained(BeanValidationHelper.java:120)
                at org.eclipse.persistence.jaxb.JAXBBeanValidator.isConstrainedObject(JAXBBeanValidator.java:255)
                at org.eclipse.persistence.jaxb.JAXBBeanValidator.shouldValidate(JAXBBeanValidator.java:206)
                at org.eclipse.persistence.jaxb.JAXBUnmarshaller.validateAndTransformIfRequired(JAXBUnmarshaller.java:1020)
                at org.eclipse.persistence.jaxb.JAXBUnmarshaller.unmarshal(JAXBUnmarshaller.java:226)
                at oracle.mds.internal.config.ConfigurationUtils$1.run(ConfigurationUtils.java:218)
                at java.security.AccessController.doPrivileged(Native Method)
                at oracle.mds.internal.config.ConfigurationUtils.getBeanFromElement(ConfigurationUtils.java:213)
                at oracle.mds.internal.config.ConfigurationUtils.getBeanFromElement(ConfigurationUtils.java:169)
                at oracle.mds.internal.lcm.util.LCMConfigUtil.getMetadataStoreElement(LCMConfigUtil.java:298)
                at oracle.mds.internal.lcm.deploy.DeployManager.predeploy(DeployManager.java:465)
                at oracle.mds.internal.lcm.deploy.DeployManager.startDeployment(DeployManager.java:253)
                at oracle.mds.internal.lcm.MDSLifecycleListenerImpl.start(MDSLifecycleListenerImpl.java:185)
                at oracle.mds.lcm.weblogic.WLLifecycleListener.preStart(WLLifecycleListener.java:133)
                at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:497)
                at weblogic.application.internal.flow.BaseLifecycleFlow$LifecycleListenerAction.run(BaseLifecycleFlow.java:239)
                at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
                at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:196)
                at weblogic.application.internal.ApplicationContextImpl$WLSSecurityProvider.invokePrivilegedAction(ApplicationContextImpl.java:1567)
                at weblogic.application.internal.flow.BaseLifecycleFlow$LifecycleListenerAction.invoke(BaseLifecycleFlow.java:200)
                at weblogic.application.internal.flow.HeadLifecycleFlow.prepare(HeadLifecycleFlow.java:245)
                at weblogic.application.internal.BaseDeployment$1.next(BaseDeployment.java:730)
                at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:45)
                at weblogic.application.internal.BaseDeployment.prepare(BaseDeployment.java:242)
                at weblogic.application.internal.EarDeployment.prepare(EarDeployment.java:67)
                at weblogic.application.internal.DeploymentStateChecker.prepare(DeploymentStateChecker.java:158)
                at weblogic.deploy.internal.targetserver.AppContainerInvoker.prepare(AppContainerInvoker.java:61)
                at weblogic.deploy.internal.targetserver.AppDeployment.prepare(AppDeployment.java:158)
                at weblogic.management.deploy.internal.DeploymentAdapter$1.doPrepare(DeploymentAdapter.java:41)
                at weblogic.management.deploy.internal.DeploymentAdapter.prepare(DeploymentAdapter.java:193)
                at weblogic.management.deploy.internal.AppTransition$1.transitionApp(AppTransition.java:31)
                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.IllegalArgumentException: URI scheme is not "file"
                at java.io.File.<init>(File.java:421)
                at org.eclipse.persistence.jaxb.ValidationXMLReader.parseValidationXML(ValidationXMLReader.java:147)
                at org.eclipse.persistence.jaxb.ValidationXMLReader.call(ValidationXMLReader.java:67)
                at org.eclipse.persistence.jaxb.ValidationXMLReader.call(ValidationXMLReader.java:1)
                at java.util.concurrent.FutureTask.run(FutureTask.java:266)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
                at java.lang.Thread.run(Thread.java:745)


This is a known BUG and in the next Bundle Patch will be included a fix.It does not affects to WebCenter Portal as it will work properly.

Anyway, if you want to hide this annoying Stack Trace from your log file then configure the following Stack Trace to SEVERE level using the Enterprise Manager as following.

Changing Logging Trace Level

viernes, 6 de noviembre de 2015

WCP 12.2.1: Installation VII (Oracle WebCenter Content 12.2.1)

Oracle WebCenter Portal 12cR2 is very weak without its brother Oracle WebCenter Content 12cR2

Now is time to install, configure and integrate Oracle WebCenter Portal 12.2.1 with Oracle WebCenter Content 12.2.1

Download the software from: http://www.oracle.com/technetwork/middleware/webcenter/content/downloads/index.html

As usual... unzip and execute the Oracle Universal Installer for installing the software
WebCenter Content 12c Universal Installer
Select the ORACLE_HOME that we are using for all products (my case is /oracle/product as recommends the official guide)

Settimg UP the ORACLE_HOME

Finish the installer

Installation of the WCC 12cR2 finished


Execute RCU for creating WCC Schemas

Execute RCU from /oracle/product/oracle_common/bin/rcu 

RCU Welcome Page
Make sure that you select the Orcle WebCenter Content Schemas

WebCenter Content Schemas

Finish the RCU!

RCU Finished

Launch the Domain Configuration Wizard to install WCC Managed Servers

Go to /oracle/product/oracle_common/common/bin and execture config.sh to update our webcenter_domain with the Oracle WebCenter Content Servers

Make sure you select the wcontent templates (we are including also adf ui and capture, they are not required, just if you want to play with them :))

WebCenter Content WebLogic Templates

Remember to configure the Managed Servers for the existing Node Manager and create Clusters for every product

Configure the Managed Servers!

Do the same as we did with WCP


Continue ahead until finishing the Wizard!

Now we are going to configure WebCenter Content and Inbound Refinery. Please, do not start Portal servers yet, only start Admin Server, UCM_server1 and IBR_server1

Setup Inbound Refinery Configuration

When IBR_server1 is up and running then go to IBR console to configure the IBR instance

IBR configuration after fresh install
Restart IBR_server1

Setup WebCenter Content Configuration

When UCM_server1 is up and running then go to UCM Console and configure the UCM instance
UCM Configuration after fresh installation
Restart UCM_server1

Enable WebCenter Content Components

Check them in: http://docs.oracle.com/middleware/1221/wcp/admin/GUID-1F31EEA2-AF46-4459-B2FB-12E7B9857692.htm#WCADM9775 

Enabling:
  • WebCenterConfigure
  • FrameworkFolders
  • DBSearchContainsOpSupport
  • SiteStudio
  • PortalVCRHelper
  • DigitalAssetManager
  • DAMConverterSupport   
  • LinkManager 

Restart UCM_server1

Configure WebCenter Content - Inbound Refinery Connection

Login in WebCenter Content Console and go to Administration -> Providers

Add new outgoing provider
Click Add to add new outgoing provider and setup your IBR details

IBR Outgoing Provider details

Restart UCM_server1

Back to Providers screen and check that the connection is good
IBR connection well configured

Configure WebCenter Portal - WebCenter Portal Connection

WC_Portal and UCM_server1 must be RUNNING.

Go to the Enterprise Manager and create a connection to the Content Server as following.
Configuration of the Content Repository
Click Test, if everything goes well then restart WC_Portal and access to the Documents page of the HOME Portal.

Check the Content Manager Task Flow is working

Now is time to enable the Administration Workflows and decent Notification Service!. In addition we can enable BPM embebbed into the Portal!

Next step: WCP 12.2.1: Installation IX (Oracle SOA Suite 12.2.1)