Develop > Presentation layer > Customize promotions > Promotion engine customization > Customization scenarios


Customize persistence management

The promotion engine's persistence management implementation consists of seven persistence managers for seven types of objects.

The seven types of objects are:

It is unlikely that the persistence management implementation will require customization. However, if required, the steps are the same as customizing either the agenda builder or the sequence builder. The same three step process applies:


Procedure

  1. Implement the corresponding interface.

    The seven interfaces for the persistence managers include the following:

    • com.ibm.commerce.marketing.promotion.PromotionPersitenceManager

    • com.ibm.commerce.marketing.promotion.group.PromotionGroupPersitenceManager

    • com.ibm.commerce.marketing.promotion.policy.PromotionPolicyPersitenceManager

    • com.ibm.commerce.marketing.promotion.coupon.CouponPersitenceManager

    • com.ibm.commerce.marketing.promotion.stats.StatsPersitenceManager

    • com.ibm.commerce.marketing.promotion.runtime.PromotionArgumentPersitenceManager

    Since all of the interfaces are subclasses of XMLizable, part of implementing this interface includes defining the toXML and fromXML methods as well as designing the serialized XML form of these persistence managers.

  2. Modify the promotion engine configuration to register the change.

    Locate the PersistenceManagerRegistry element:

    <PersistenceManagerRegistry impl=
          "com.ibm.commerce.marketing.promotion.persistence.PersistenceManagerRegistry">   
    <PromotionPersistenceManager impl=
             "com.ibm.commerce.marketing.promotion.PromotionSessionBeanPersistenceManager">      
    <InitialCacheSize>1024</InitialCacheSize>      
    <MaxCacheSize>8192</MaxCacheSize>   
    </PromotionPersistenceManager> 
      
    <PromotionPolicyPersistenceManager impl=
             "com.ibm.commerce.marketing.promotion.policy.PromotionPolicySessionBeanPersistenceManager">      
    <InitialCacheSize>32</InitialCacheSize>      
    <MaxCacheSize>1024</MaxCacheSize>   
    </PromotionPolicyPersistenceManager>    
      
    <PromotionGroupPersistenceManager impl=
             "com.ibm.commerce.marketing.promotion.group.PromotionGroupSessionBeanPersistenceManager">      
    <InitialCacheSize>32</InitialCacheSize>      
    <MaxCacheSize>1024</MaxCacheSize>   
    </PromotionGroupPersistenceManager> 
      
    <DynamicAttributePersistenceManager impl=
             "com.ibm.commerce.marketing.promotion.dynattr.DynamicAttributeSessionBeanPersistenceManager">      
    <InitialCacheSize>32</InitialCacheSize>      
    <MaxCacheSize>1024</MaxCacheSize>   
    </DynamicAttributePersistenceManager> 
      
    <PromotionArgumentPersistenceManager impl=
             "com.ibm.commerce.marketing.promotion.runtime.PromotionArgumentSessionBeanPersistenceManager">          
      
    <CouponPersistenceManager impl=
             "com.ibm.commerce.marketing.promotion.coupon.CouponSessionBeanPersistenceManager">          
      
    <StatsPersistenceManager impl=
             "com.ibm.commerce.marketing.promotion.stats.StatsSessionBeanPersistenceManager>
    </PersistenceManagerRegistry>
    

    Change the XML element that corresponds to your changed persistence manager.

  3. Restart WebSphere Commerce.

    You must restart WebSphere Commerce for the changes to take effect.

Related reference

Customization scenarios


+

Search Tips   |   Advanced Search