WebSphere Commerce EnterpriseWebSphere Commerce ProfessionalFeature Pack 5 or later

Troubleshooting: OutOfMemory error during post publish

A large amount of data that is loaded into a quick publish enabled task group might result in OutOfMemory errors in the Java virtual machine. The OutOfMemory errors occur during the post-publish phase of Quick publish. You can set the following optional post-publish phase attributes to avoid this problem.

postPublish
true (default) – Enables post-publishing.
false – Turns off post-publishing.
postPublishSize
0 (default) – The post-publish phase propagates data from all resource managers sequentially.
n – When you set this attribute to a positive integer, post-publishing propagates data every n-th resource manager at a time. For example, if postPublishSize is set to 2, the post-publishing phase collects data from two resource managers before it is propagated.
To edit the quick publish post publish attribute values:
  1. Update the wc-resource-containers.xml file.
    1. Open the WC_profiledir\installedApps\cell_name\WCServer_enterprise_archive\xml\content-management\wc-resource-containers.xml file for editing.
    2. In the wc-resource-containers.xml file, locate the <wc:QuickPublishConfiguration> element, and add the postPublish and postPublishSize parameters as shown:
      <wc:QuickPublishConfiguration>
      		<wc:Publisher className="com.ibm.commerce.context.content.resources.publish.DefaultJDBCContentPublisherImpl"
      		initParameters=[other-parameters]postPublish="true" postPublishSize="1" [other-parameters]/ >
      </wc:QuickPublishConfiguration>
  2. Update the wc-resource-containers.xsd file.
    1. Open the WC_profiledir\installedApps\cell_name\WCServer_enterprise_archive\xml\content-management\xsd\wc-resource-containers.xsd file for editing.
    2. In the wc-resource-containers.xsd file, locate the Publisher element, and add the attributes as shown:
      <element name="Publisher">
      		<complexType>
           <attribute name="className" type="string" use="required"/>
           <attribute name="initParameters" type="string" use="optional"/>
        		<attribute name="postPublish" type="string" use="optional"/>
              <annotation>
      		        <documentation>postPublish controls whether to enable or disable Quick Publish post publish.
                 </documentation>
      	        </annotation>
           </attribute>
           <attribute name="postPublishSize" type="int" use="optional">
      	        <annotation>
      		        <documentation>Post-publishing phase will propagate data every n-th resource manager at a time, 
                  specified by the integer here. If 0, post-publish phase will propagate data from all resource 
                  managers at once.
      		        </documentation>
      	        </annotation>
           </attribute>
      			...
      			[other attributes]
           ...
      		</complexType>
      </element>