Author: theute
Date: 2011-04-28 04:12:43 -0400 (Thu, 28 Apr 2011)
New Revision: 6386
Modified:
epp/portal/branches/EPP_5_1_Branch/component/portal/src/main/java/org/exoplatform/portal/config/NewPortalConfigListener.java
epp/portal/branches/EPP_5_1_Branch/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigService.java
Log:
JBEPP-902: OOM Issue when starting up with many pages
Modified:
epp/portal/branches/EPP_5_1_Branch/component/portal/src/main/java/org/exoplatform/portal/config/NewPortalConfigListener.java
===================================================================
---
epp/portal/branches/EPP_5_1_Branch/component/portal/src/main/java/org/exoplatform/portal/config/NewPortalConfigListener.java 2011-04-28
07:07:48 UTC (rev 6385)
+++
epp/portal/branches/EPP_5_1_Branch/component/portal/src/main/java/org/exoplatform/portal/config/NewPortalConfigListener.java 2011-04-28
08:12:43 UTC (rev 6386)
@@ -20,7 +20,9 @@
package org.exoplatform.portal.config;
import org.exoplatform.commons.utils.IOUtil;
+import org.exoplatform.container.PortalContainer;
import org.exoplatform.container.component.BaseComponentPlugin;
+import org.exoplatform.container.component.RequestLifeCycle;
import org.exoplatform.container.configuration.ConfigurationManager;
import org.exoplatform.container.xml.InitParams;
import org.exoplatform.container.xml.ValueParam;
@@ -129,33 +131,48 @@
public void run() throws Exception
{
- if (dataStorage_.getPortalConfig(defaultPortal) != null)
- return;
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
+ {
+ if (dataStorage_.getPortalConfig(defaultPortal) != null)
+ return;
+ }
+ finally
+ {
+ RequestLifeCycle.end();
+ }
if (isUseTryCatch)
{
-
- for (NewPortalConfig ele : configs)
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
{
- try
+ for (NewPortalConfig ele : configs)
{
- initPortletPreferencesDB(ele);
+ try
+ {
+ initPortletPreferencesDB(ele);
+ }
+ catch (Exception e)
+ {
+ log.error("NewPortalConfig error: " + e.getMessage(), e);
+ }
}
- catch (Exception e)
+ for (NewPortalConfig ele : configs)
{
- log.error("NewPortalConfig error: " + e.getMessage(), e);
+ try
+ {
+ initPortalConfigDB(ele);
+ }
+ catch (Exception e)
+ {
+ log.error("NewPortalConfig error: " + e.getMessage(), e);
+ }
}
}
- for (NewPortalConfig ele : configs)
+ finally
{
- try
- {
- initPortalConfigDB(ele);
- }
- catch (Exception e)
- {
- log.error("NewPortalConfig error: " + e.getMessage(), e);
- }
+ RequestLifeCycle.end();
}
for (NewPortalConfig ele : configs)
{
@@ -168,17 +185,25 @@
log.error("NewPortalConfig error: " + e.getMessage(), e);
}
}
- for (NewPortalConfig ele : configs)
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
{
- try
+ for (NewPortalConfig ele : configs)
{
- initPageNavigationDB(ele);
+ try
+ {
+ initPageNavigationDB(ele);
+ }
+ catch (Exception e)
+ {
+ log.error("NewPortalConfig error: " + e.getMessage(), e);
+ }
}
- catch (Exception e)
- {
- log.error("NewPortalConfig error: " + e.getMessage(), e);
- }
}
+ finally
+ {
+ RequestLifeCycle.end();
+ }
for (NewPortalConfig ele : configs)
{
try
@@ -194,22 +219,38 @@
}
else
{
- for (NewPortalConfig ele : configs)
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
{
- initPortletPreferencesDB(ele);
+ for (NewPortalConfig ele : configs)
+ {
+ initPortletPreferencesDB(ele);
+ }
+ for (NewPortalConfig ele : configs)
+ {
+ initPortalConfigDB(ele);
+ }
}
- for (NewPortalConfig ele : configs)
+ finally
{
- initPortalConfigDB(ele);
+ RequestLifeCycle.end();
}
for (NewPortalConfig ele : configs)
{
initPageDB(ele);
}
- for (NewPortalConfig ele : configs)
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
{
- initPageNavigationDB(ele);
+ for (NewPortalConfig ele : configs)
+ {
+ initPageNavigationDB(ele);
+ }
}
+ finally
+ {
+ RequestLifeCycle.end();
+ }
for (NewPortalConfig ele : configs)
{
ele.getPredefinedOwner().clear();
@@ -369,7 +410,15 @@
ArrayList<Page> list = pageSet.getPages();
for (Page page : list)
{
- dataStorage_.create(page);
+ RequestLifeCycle.begin(PortalContainer.getInstance());
+ try
+ {
+ dataStorage_.create(page);
+ }
+ finally
+ {
+ RequestLifeCycle.end();
+ }
}
}
Modified:
epp/portal/branches/EPP_5_1_Branch/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigService.java
===================================================================
---
epp/portal/branches/EPP_5_1_Branch/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigService.java 2011-04-28
07:07:48 UTC (rev 6385)
+++
epp/portal/branches/EPP_5_1_Branch/component/portal/src/main/java/org/exoplatform/portal/config/UserPortalConfigService.java 2011-04-28
08:12:43 UTC (rev 6386)
@@ -691,19 +691,12 @@
}
//
- RequestLifeCycle.begin(PortalContainer.getInstance());
-
newPortalConfigListener_.run();
}
catch (Exception e)
{
log.error("Could not import initial data", e);
-
}
- finally
- {
- RequestLifeCycle.end();
- }
}
public void stop()
Show replies by date