BEA Logo BEA WLCS Release 3.5

  BEA Home  |  Events  |  Solutions  |  Partners  |  Products  |  Services  |  Download  |  Developer Center  |  WebSUPPORT

 

   WLCS Documentation   |   Deployment Guide   |   Previous Topic   |   Next Topic   |   Contents   |   Index

The Server Configuration

 

When you install Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server, the installation program sets up a fully deployed server with sample Web applications and supporting EJBs. The Web applications and EJBs are organized according to the J2EE specification for enterprise applications.

Before you modify the default configuration for your development or production environment, we recommend that you read the following sections in this topic and The Reference Domain, which describe the default configuration and indicate the properties that you can modify:

 


The Directory Structure for Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server

By default, Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server installs into the BEA home directory. The root of the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server directory tree contains the following (see Figure 1-1):

Additional Files and Directories

On Windows platforms, you can install the BEA E-Business Control Center, a graphical user interface (GUI) for managing Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server features. By default, the E-Business Control Center installs into the following directory (see Figure 1-1):
bea\E-BusinessControlCenter

In addition, when you update your WebLogic Server license to support Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server, the UpdateLicense modifies the bea/license.bea file. Do not modify or move the license.bea file.

Figure 1-1 Top-Level Directory


 
 

 


Viewing and Modifying Properties in the WebLogic Server Administration Console

Because Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server runs as an instance of WebLogic Server with extended functionality, modifying WebLogic Server properties from the Administration Console changes the behavior of Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server.

If you create your own Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server domain for administering your web applications, you must include the console.war file that Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server provides. The console.war must be located at the following pathname:
config/your-domain/applications/console.war

This section describes the following tasks:

For information on changing other properties in the WebLogic Server Administration Console, refer to the following documents:

Starting the Administration Console for the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server Domain

A WebLogic Server domain is the administrative unit that you use to manage the web applications and enterprise applications that Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server provides. Because you can administer a domain only from an Administration Console that is located in the domain directory tree, Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server provides a WebLogic Server administration console for its domain, wlcsDomain. To start the Administration Console, do the following:

  1. Start Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server. For more information, refer to Starting the Server and wlcsDomain on UNIX or Starting the Server and wlcsDomain on Windows.

  2. From a Web browser, enter the following URL:

    http:// { localhost | IP-address | hostname}:listen-port/console

    where listen-port is the ListenThread number that the server reports when it successfully starts.

    For example, http://127.0.0.1:7501/console or http://localhost:7501/console

If you create your own Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server domain, start the server for your own domain. Then you can use the URL that this section describes to access the Administration Console that you included in the domain.

Determining Which Modifications Require You to Restart the Server

The Administration Console places a caution icon (a yellow triangle with an exclamation point inside) to indicate which properties require you to restart the server to deploy any modifications to them. (See Figure 1-2.)

Figure 1-2 The Caution Icon Indicates a Restart Is Required


 

Finding the Server Properties

The Administration Console uses the concept of a server to maintain multiple sets of properties, one of which you can apply to any given WebLogic Server instance.

wlcsDomain defines a set of server properties named wlcsServer. To see the properties defined for wlcsServer, start the Administration Console (as described in Starting the Administration Console for the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server Domain) and do one of the following:

or

For more information about starting Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server, refer to Starting and Shutting Down the Server.

Changing the Listen Ports

You can use the Administration Console to change the ports on which wlcsServer listens for HTTP and HTTPS requests. To change the listen ports, do the following:

  1. Find the server properties page as described in Finding the Server Properties.

  2. On the server properties page, click the Configuration tab.

  3. On the General subtab, change the value for the HTTP Listen Port (see Figure 1-4).

    Figure 1-4 The HTTP Listen Port


     
     

  4. On the SSL subtab, change the value for the SSL Listen Port (see Figure 1-5).

    Figure 1-5 The SSL Listen Port


     

  5. To deploy these modifications, you must restart the server. For information on shutting down and restarting the server, refer to Starting and Shutting Down the Server. We recommend that you do not use the WebLogic Server Administration Console to shut down Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server.

Changing the Message Output

You can use the Administration Console to change the level of messages that display in the shell that runs the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server process.

To change the message output, do the following:

  1. Find the server properties page as described in Finding the Server Properties.

  2. On the server properties page, click the Logging tab.

  3. On the General subtab, select a value from the Stdout severity threshold list (see Figure 1-6). For more information about message and log options, refer to the Administration Console Online Help.

    Figure 1-6 Stdout Severity Threshold List


     

 


Viewing and Modifying Properties in weblogiccommerce.properties

The WL_COMMERCE_HOME/weblogiccommerce.properties file sets values for features specific to Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server. Before you deploy the server and your enterprise applications, we recommend that you review the file.

Note: Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server refers to this file only when you start the server; any modifications to weblogiccommerce.properties require that you restart the server.

The weblogiccommerce.properties is divided into the following sections:

JDBC Pool and JNDI Helpers

The properties in Listing 1-1 enable Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server to use JDBC pools to connect to the database. Do not change these properties.

Listing 1-1 also shows properties that define the JNDI context that Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server uses to locate EJBs.

We recommend that you do not place JSPs and EJBs on separate servers. However, if you do, you must set the commerce.configuration.splitEjbJspServer property to true and enable the default context properties by removing the comment tag (#).

Listing 1-1 JDBC Pool and JNDI Helpers

# JDBC Pool entries
commerce.jdbc.pool.name=commercePool
commerce.jts.pool.name=commercePool
PersistenceURL=jdbc:weblogic:jts:commercePool
commerce.jdbc.pool.url=weblogic.jdbc.jts.commercePool
# JNDI helper default context setup properties. Typically you wouldn't change these.
# Only change these if your JNDI tree is located on another server, and it is not in a cluster.
#default.context.initial.context.factory=weblogic.jndi.WLInitialContextFactory
#default.context.provider.url=t3://localhost:7501
#default.context.security.authentication=simple
#default.context.security.principal=admin
#default.context.security.credentials=adminpassword
#default.context.security.protocol=ssl
#default.context.authoritative=
#default.context.batchsize=
#default.context.dns.url=dns://somehost/wiz.com
#default.context.language=
#default.context.object.factories=
#default.context.referral=
#default.context.url.pkg.prefixes=
###############################################
# Server configuration
###############################################
# Set to true if the EJB server is not on the same cluster node as the
# JSP server.
commerce.configuration.splitEjbJspServer=false

CLOB Retrieval and Setting

The properties in Listing 1-2 configures the Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server data repository to retrieve and set CLOBs. Set these properties to true only if the database JDBC driver correctly supports the java.sql.Clob object and methods.

Note: For Oracle and Cloudscape databases, set these properties to false or leave the default # (pound sign) at the beginning of the line to deactivate them. While some of these database JDBC drivers support the java.sql.Clob object and methods, the WebLogic Server 6.0SP1 Oracle jDriver currently has a bug and should retrieve CLOB columns through String methods.

Listing 1-2 CLOB Retrieval and Setting

# Uncomment this and set to true to use java.sql.Clob
# objects for CLOB database column retrieval. Some
# databases don't support using ResultSet.getString()
# for CLOB retrieval, which is the default behavior.
#commerce.jdbc.read.shouldUseClobs=false
# Uncomment this and set to true to use
# java.sql.ResultSet.setCharacterStream()
# to set CLOB database columns. Some databases
# don't support using ResultSet.setString()
# for CLOB setting, which is the default behavior.
#commerce.jdbc.write.shouldUseClobs=false

Personalization Attribute Loader

The property in Listing 1-3 retrieves additional values from the HTTP request or session object and saves them in a named location. Do not change this property.

Listing 1-3 Attribute Loader

# P13N Request AttributeLoaders
#p13n.request.loaders=
# P13N Session AttributeLoaders
p13n.session.loaders=com.bea.commerce.ebusiness.campaign.ShoppingCartAttributeLoader

Location of GIF Files

The WebLogic Commerce Server JSP templates uses the Webflow helper to generate references to images. By default, the Webflow helper references are relative to the root of the current web application.

If you locate your images outside the web application directory tree, activate the property in Listing 1-4 and provide a base URL for image pathnames.

Listing 1-4 Location of GIF Files

# Location of where gifs are stored.
# If not set then they are taken relative to the web app.
# commerce.gif.url.base=http://<hostname>:<port>/<path>

EJB Mappings

Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server uses the properties in Listing 1-5 to locate EJB homes. Do not modify these properties.

Listing 1-5 EJB Mappings

# Entries for mapping schema group names to the appropriate home name
commerce.schemaGroupHomeName.USER=com.beasys.commerce.foundation.property.Schema
commerce.schemaGroupHomeName.REQUEST=com.beasys.commerce.foundation.property.Schema
commerce.schemaGroupHomeName.SESSION=com.beasys.commerce.foundation.property.Schema
commerce.schemaGroupHomeName.CONTENT=com.beasys.commerce.axiom.document.DocumentSchema
commerce.schemaGroupHomeName.APPLICATION_INIT=com.beasys.commerce.foundation.property.Schema
commerce.schemaGroupHomeName.CATALOG=com.beasys.commerce.foundation.property.Schema
# EJB Home Name Associations
commerce.home.property.SchemaManagerHome=\
    com.beasys.commerce.foundation.property.SchemaManager
 commerce.home.AdvisorHome=\
     com.beasys.commerce.platform.advisor.EjbAdvisorHome

Campaign Service Properties

The properties in Listing 1-6 configure the Campaign Service.

The first property, campaign.rules.session.attrNames, enables the Campaign Service to retrieve the values from the request and session objects that the Personalization attribute loader property saves. For more information about the Personalization attribute loader property, refer to Personalization Attribute Loader.

The second property, campaign.goals.checkTime, establishes a cache that campaigns use to determine whether they have reached their goals.

When you create a campaign, you can specify that some actions, such as displaying an ad in a placeholder, are to occur a specific number of times. Each time the action occurs, the Campaign Service updates a field in the database.

Before a Campaign Manager for WebLogic service engages an action that is associated with a campaign, for example before an ad placeholder displays an ad that is associated with a campaign, it checks with the Campaign Service to determine the following:

If the date is in the campaign's date range, and if the campaign has not fulfilled its goals, then the service engages the action.

You use the campaign.goals.checkTime to determine how frequently the Campaign Service accesses the database to determine whether it has fulfilled its goal. Each time it accesses the database, it saves the results to a cache. For example, the default setting determines that every 5 minutes (300, 000 milliseconds), the Campaign Service checks with the database to determine which goals have been fulfilled. Each time it checks with the database, it saves the results in a cache. If an ad placeholder refers to the Campaign Service to determine whether a specific ad has already reached its limit, the Campaign Service refers to the data in its cache.

A campaign can exceed its goal if the cache contains stale data.

If you want to disable the cache, provide a value of 0.

Listing 1-6 Campaign Service Properties

###############################################
# Campaign Server
###############################################
# Campaign Server -- additional attributes to pull from the request and
# session and to pass to the rules engine (comma-separated, no spaces)
#campaign.rules.request.attrNames=
campaign.rules.session.attrNames=wlcs_shoppingCart
# How often should we check campaign goals, in milliseconds.
campaign.goals.checkTime=300000

Default Values for Portals

The properties in Listing 1-7 establish defaults for new portals. You can adjust these values based on the nature of the portal being built. You can override these defaults from the portal administration tools.

For example, the following property tells the portal component which property set to use as the default for portal users:

commerce.default.portal.schemaName=_DEFAULT_PORTAL_SCHEMA

A developer can change this value based on the property sets that are created with the Property Set Management Administration Tool.

For example, the following portal properties are for internal use and should not be altered by a developer:

commerce.application.minimum.build=83914
commerce.default.category.name=Home

Listing 1-7 Default Values for Portals

# Entries taken from PortalProperties
commerce.default.portal.schemaName=_DEFAULT_PORTAL_SCHEMA
commerce.default.portal.headerURL=header.jsp
commerce.default.portal.contentURL=portalcontent.jsp
commerce.default.portal.footerURL=footer.jsp
commerce.default.portal.cols=3
commerce.default.portal.suspendedURL=suspended.jsp
commerce.default.portlet.dir=portlets/
commerce.default.portlet.image.dir=portlets/images/
commerce.default.portlet.titlebarURL=titlebar.jsp
commerce.default.banner.color=#666666
commerce.default.titlebar.bgcolor=#333399
commerce.default.show.borders=false
commerce.default.content.bgcolor=#CCCCCC
commerce.default.titlebar.font.color=#FFFFFF
commerce.default.body.bgcolor=#FFFFFF
commerce.default.profile.group.property=portal.profile.group
commerce.default.portal.password=guest
commerce.application.minimum.build=83914
commerce.default.category.name=Home
commerce.portalservicemanager.fast.portal.get=true

User Management

Listing 1-8 illustrates the section of weblogiccommerce.properties that specifies properties for user management. The first set of properties map table names. Do not modify these properties.

The set of properties under # RDBMS Realm determine which database type the reference implementation uses for storing user information. Modify this section only if you use the reference implementation for user management. If you use an LDAP server for user management, you do not need to modify this section. For more information, see "Using WebLogic Realms" under "Creating and Managing Users" in the Guide to Building Personalized Applications.

Listing 1-8 User Management

###############################################
# User Management
###############################################
commerce.usermgmt.UserTable=WLCS_USER
commerce.usermgmt.GroupTable=WLCS_GROUP
commerce.usermgmt.UserGroupHierarchyTable=WLCS_USER_GROUP_HIERARCHY
commerce.usermgmt.GroupHierarchyTable=WLCS_GROUP_HIERARCHY
commerce.usermgmt.EntityIdTable=WLCS_ENTITY_ID
commerce.usermgmt.ProfileTypeTable=WLCS_UNIFIED_PROFILE_TYPE
# RDBMS Realm
#------Oracle thin Driver---------#
#commerce.usermgmt.RDBMSRealm.driver=oracle.jdbc.driver.OracleDriver
#commerce.usermgmt.RDBMSRealm.dbUrl=jdbc:oracle:thin:@@ORACLE_SERVER@:@ORACLE_PORT@:@ORACLE_SID@
#commerce.usermgmt.RDBMSRealm.dbUser=@ORACLE_USER@
#commerce.usermgmt.RDBMSRealm.dbPassword=@ORACLE_PASSWORD@
#------WebLogic jDriver for Oracle 8.1.5---------#
#commerce.usermgmt.RDBMSRealm.driver=weblogic.jdbc.oci.Driver
#commerce.usermgmt.RDBMSRealm.dbUrl=jdbc:weblogic:oracle
#commerce.usermgmt.RDBMSRealm.dbServer=@ORACLE_NET_SERVICE_NAME@#commerce.usermgmt.RDBMSRealm.dbUser=@ORACLE_USER@
#commerce.usermgmt.RDBMSRealm.dbPassword=@ORACLE_PASSWORD@
#--------------Cloudscape------------------#
commerce.usermgmt.RDBMSRealm.driver=COM.cloudscape.core.JDBCDriver
commerce.usermgmt.RDBMSRealm.dbUrl=jdbc:cloudscape:Commerce;create=true;autocommit=false
commerce.usermgmt.RDBMSRealm.dbUser=none
commerce.usermgmt.RDBMSRealm.dbPassword=none

Name and Location of Documentation

Listing 1-9 includes the following properties that configure the WebLogic Personalization Server Content Management service:

Database Timeout

The properties in Listing 1-10 specify the amount of time that Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server waits to obtain a connection to the database pool before timing out.

Listing 1-10 Database Timeout

##############################################
# Time out properties for weblogic database connection
##############################################
connection.TimeOutPeriod=999999999
waitForConnection=true

Logger Class

The properties in Listing 1-11 do the following:

Component Properties

The properties in Listing 1-12 are used by the Bean-Managed Persistence (BMP) layer for data persistence. Do not modify these properties.

Listing 1-12 Component Properties

#############################################
# Properties required for components
############################################
# Use the BMP plugin by default
DefaultPersistenceHelperPlugin=com.beasys.commerce.foundation.plugin.bmp.BMPPersistenceHelperPlugin

Payment Service

The properties in Listing 1-13 configure the payment service, including the CyberCash credit card validation service.

For more information about this section, refer to "Configuration Activities for Using CyberCash" under "Payment Services" in the Guide to Managing Purchases and Processing Orders.

Listing 1-13 Payment Service

###################################################
# Properties required for the payment component
###################################################
#
# This property defers payment authorization to the administration tools. 
# If set to true, all payment service authorization calls are disabled
# and payment transactions are persisted in a RETRY state. Payments must
# then be reauthorized through the payment administration tool.
#
commerce.payment.defer.authorization=true
# 
# CyberCash configuration files contain CyberCash-specific data, such as a 
# merchant-id and merchant hash secret. The specific properties in the configuration
# files depend upon the payment model assigned to a merchant by his/her financial 
# institution. The two files declared below are example files and are provided
# for demonstration purposes ONLY. MERCHANTS MUST AQUIRE A CYBERCASH CONFIGURATION 
# FILE FROM CYBERCASH. These will be furnished by CyberCash as part of the 
# merchant agreement. Once a merchant has a CyberCash configuration file, the
# property below must be replaced with the location of the configuration file.
#
# Example: CyberCashConfigFile=c:/merchant/config/file/location/merchant_conf-terminal
# This file may be used for testing terminal based payment models.
CyberCashConfigFile=D:/WebLogicCommerceServer3.2/eval/common/CyberCash/conf/merchant_conf-terminal
# This file may be used for testing host based payment models.
#CyberCashConfigFile=D:/WebLogicCommerceServer3.2/eval/common/CyberCash/conf/merchant_conf-host
#
# Properties below represent the different payment models provided by CyberCash.
#
# Terminal based models.
PaymentModel=AUTO_MARK_AUTO_SETTLE
#PaymentModel=AUTO_MARK_AUTO_SETTLE_AVS
#PaymentModel=AUTO_MARK_MANUAL_SETTLE
#PaymentModel=AUTO_MARK_MANUAL_SETTLE_AVS
#PaymentModel=MANUAL_MARK_AUTO_SETTLE
#PaymentModel=MANUAL_MARK_AUTO_SETTLE_AVS
#PaymentModel=MANUAL_MARK_MANUAL_SETTLE
#PaymentModel=MANUAL_MARK_MANUAL_SETTLE_AVS
# Host based models.
#PaymentModel=HOST_AUTH_CAPTURE
#PaymentModel=HOST_AUTH_CAPTURE_AVS
#PaymentModel=HOST_POST_AUTH_CAPTURE
#PaymentModel=HOST_POST_AUTH_CAPTURE_AVS

Credit Card Security

The properties in Listing 1-14 configures security services for credit card transactions. For information about this section, refer to "Credit Card Security Service" under "Payment Services" in the Guide to Managing Purchases and Processing Orders.

Listing 1-14 Credit Card Security

###################################################
# Properties required for Security Services
###################################################
# 
# Credit card encryption services are turned on by setting this property to true.  
# Commenting out this property or setting it to false will disable credit card 
# encryption. 
#
is.encryption.enabled=true
#
# The name of the security table and column names for public and private encryption 
# keys can be specified using the properties below.
#
security.table.name=WLCS_SECURITY
security.backup.table=WLCS_SECURITY_BACKUP
public.key.column.name=PUBLIC_KEY
private.key.column.name=PRIVATE_KEY
#
# The key bit size desired.  Key bit length and length of data that can be encrypted 
# are related as follows:
#    KEY BIT LENGTH(bits)           DATA LENGTH (bytes)
#        512                             53
#       1024                            117
#       2048 (MAX LENGTH)               245
key.bit.size=1024
# 
# This optional parameter specifies the private key password used to decrypt the
# encrypted credit card encryption private key.  WARNING: Setting this property 
# will start up the server without prompting for a password.
private.key.password=WLCS

TAXWARE

The properties in Listing 1-15 configure the TAXWARE tax calculation service. For information about this section, refer to "TAXWARE Configuration and Deployment" under "Taxation Services" in the Guide to Managing Purchases and Processing Orders.

Listing 1-15 TAXWARE

#################################################################
# TAXWARE TAX SERVICE  PROPERTIES
# -------------------------------------------------
# For instructions on individual properties in this
# section, Please refer to the Taxware SalesUse and Verazip manuals.
#
#################################################################
#################################################################
# JNDI name of the TaxCalculator Session Bean
# ----------------------------------------------------------------
tax.calculator.jndi.name = com.beasys.commerce.ebusiness.tax.taxware.TaxwareTaxCalculator
#################################################################
# Currency for Tax Calculation (Taxware only supports USD)
# ----------------------------------------------------------------
tax.currency = USD
#################################################################
# ShipFrom Address
# ----------------------------------------------------------------
# ShipFrom Address is address from where goods are shipped 
# Please review Taxware documentation when setting these properties
#
shipfrom.countycode=000
shipfrom.state=MA
shipfrom.city=SALEM
shipfrom.zip=01970
shipfrom.geocode=00
shipfrom.country=USA 
################################################################
# Order Acceptance Address 
#----------------------------------------------------------------
# OrderAcceptance is the address where orders are accepted
# Please review Taxware documentation when setting these properties
#
orderacceptance.countycode=000
orderacceptance.state=MA
orderacceptance.city=SALEM
orderacceptance.zip=01970
orderacceptance.geocode=00
orderacceptance.country=USA	
#################################################################
# Order Origin Address 
#---------------------------------------------------------------
# Order Origin is the address where orders are Originated
# Please review Taxware documentation when setting these properties
#
orderorigin.countycode=000
orderorigin.state=MA
orderorigin.city=SALEM
orderorigin.zip=01970
orderorigin.geocode=00
orderorigin.country=USA
#################################################################
# Point of title passage
# ---------------------------------------------------------------
# Location at which legal title has transferred to purchaser 
#titlepassage=shipto 
titlepassage=shipfrom
#################################################################
# Company Identification
#---------------------------------------------------------------
# User Defined company identification to access information 
# for tax calculating and reporting
companyId=companyId
#################################################################
# TaxType
#----------------------------------------------------------------
# Type of tax to be calculated
#taxtype=use
#taxtype=rental
#taxtype=consumeruse
#taxtype=services
taxtype=sales
################################################################
# TaxSelParm
#---------------------------------------------------------------
# Taxselparm to decide jurisdiction while calculating
# if value is 2 Calculate tax only 
# if value is 3 Determine jurisdiction and calculate taxes 
#taxselparm=2
taxselparm=3

Debug Mode for PipelineSession

The properties in Listing 1-16 establish a debug mode, in which you can determine whether you have assigned the correct scope to an attribute. To see the debug messages, you must set the message log to display debug messages.

For more information about attribute scopes, refer to "Attribute Scoping" under "Extending Webflow and Pipelines" in the Guide to Managing Presentation and Business Logic: Using Webflow and Pipeline.

Listing 1-16 Debug Mode for PipelineSession

################################################################
# Enable Debug Mode for PipelineSession
#---------------------------------------------------------------
# This checks if the attribute that the user is trying to set to the
# PipelineSession is serializable or not
# If the attribute is not serializable then a message and exception 
# stack trace is displayed
pipelineSession.debug=false

Webflow and Pipeline Hot Deploy

The properties in Listing 1-17 determine whether you can change your web application's Webflow and Pipeline without restarting Campaign Manager for WebLogic, WebLogic Commerce Server, and WebLogic Personalization Server.

For more information about changing Webflow and Pipeline, see "Customizing Webflow and Pipelines" in the Guide to Managing Presentation and Business Logic.

Listing 1-17 Webflow and Pipeline Hot Deploy

#############################################
# Enable webflow and pipeline hot deploy
#--------------------------------------------
webflow.hotdeploy.enable=false
pipeline.hotdeploy.enable=false

Property Cache Settings

The properties in Listing 1-18 configure the property cache, which decreases the amount of time needed to access user, group, and other properties. For information on the property cache, refer to "Enable Property Caching" in the Performance Tuning Guide.

Listing 1-18 Property Cache Settings

#############################################
# Cache settings
# cache of unified profile types, 1 hour, 100 entries
unifiedProfileTypeCache.ttl=3600000
unifiedProfileTypeCache.capacity=100
unifiedProfileTypeCache.enabled=true
# cache of entity properties, 10 minutes, 500 entries
entityPropertyCache.ttl=600000
entityPropertyCache.capacity=500
entityPropertyCache.enabled=true
# cache of property default values, 1 hour, 100 entries
propertyDefaultCache.ttl=3600000
propertyDefaultCache.capcity=100
propertyDefaultCache.enabled=true
# cache of entity ids, 1 hour, 500 entries
entityIdCache.ttl=3600000
entityIdCache.capacity=500
entityIdCache.enabled=true
# cache of explicit properties, 10 minutes, 100 entries
directPropertyManager.ttl=600000
directPropertyManager.capacity=100
directPropertyManager.enabled=true
# cache of ConfigurableEntity methods, 1 hour, 100 entries
ConfigurableEntityMethodCache.ttl=3600000
ConfigurableEntityMethodCache.capacity=100
ConfigurableEntityMethodCache.enabled=true
# cache of ldap usernames, 1 hour, 100 entries
ldapUserCache.ttl=3600000
ldapUserCache.capacity=100
ldapUserCache.enabled=true
# cache of ldap group names, 1 hour, 10 entries
# (raise this if you have a lot of groups in ldap)
ldapGroupCache.ttl=3600000
ldapGroupCache.capacity=10
ldapGroupCache.enabled=true
#cache of session values 
_sessionCache.ttl=900000
_sessionCache.capacity=10000
_sessionCache.enabled=true
#cache of values across multiple users
_globalCache.ttl=600000
_globalCache.capacity=1000
_globalCache.enabled=true

Catalog Cache Settings

The properties in Listing 1-19 define cache settings for the product catalog. For more information about this section, refer to "Improving Catalog Performance by Optimizing the Catalog Cache" under "Catalog Administration Tasks" in the Guide to Building a Product Catalog.

Listing 1-19 Catalog Cache

# Cache entries
ProductItemCache.ttl=21600000
ProductItemCache.capacity=10000
ProductItemCache.enabled=true
CategoryCache.ttl=86400000
CategoryCache.capacity=1000
CategoryCache.enabled=true

Cache Settings for the Discount Service

The properties in Listing 1-20 configure the cache for the Discount Service, which decreases the amount of time the Order and Shopping Cart services need to calculate order and price information that include discounts. For information on the discount-service cache, refer to "Adjust Caching for the Discount Service" in the Performance Tuning Guide.

Listing 1-20 Discount Association Service Cache Settings

# Discount Service cache entries
# cache of all discounts, 5 minutes, 100 entries
discountCache.ttl=300000
discountCache.capacity=100
discountCache.enabled=true
# the global discount cache, 5 minutes, 10 entries
globalDiscountCache.ttl=300000
globalDiscountCache.capacity=10
globalDiscountCache.enabled=true

Event Service and Behavior Tracking Parameters

The properties in Listing 1-21 set parameters for the Event and Behavior Tracking services. For example, they register custom event listeners and determine whether the listener is synchronous or asynchronous.

The properties also register both synchronous and asynchronous listeners for campaigns. If you do not use Campaign Manager for WebLogic, you can remove or comment-out the following listeners:

For more information about these properties, refer to "Event Properties in the weblogiccommerce.properties File" under "Persisting Tracking Behavior Data" in the Guide to Events and Behavior Tracking.

Listing 1-21 Event Service Parameters

##############################################
# Event Service
##############################################
#
# Listeners for EventService's handler.  Each listener expresses interest
# in what Event Types it can handle. Events of that type sent to the
# EventService will be dispatched to the handler.
# This property should be a comma-delimited list of (fully qualified)
# class names. Classes listed here must implement the interface
# com.bea.commerce.platform.events.EventListener
# and must also have a no-args (default) constructor.
#
# To enable behavior tracking, add
# com.bea.commerce.platform.tracking.listeners.BehaviorTrackingListener
# to this list.
#
# To enable asynchronous event handling, add
# com.bea.commerce.platform.events.listeners.AsynchronousListener
# to this list.
eventService.listeners=\
    com.bea.commerce.campaign.internal.CampaignEventListener,\
    com.bea.commerce.platform.events.listeners.AsynchronousListener
#    com.bea.commerce.platform.tracking.listeners.BehaviorTrackingListener
# com.bea.commerce.platform.events.listeners.DebugEventListener
##############################################
# Behavior Tracking
##############################################
#
# Events to be persisted to the behavior tracking database. These
# are used when uncommenting the BehaviorTrackingListener class in
# the eventService.listeners property above.
#
# This is the list of event types that will be persisted to the
# behavior tracking database tables. Events in this list must
# extend the com.bea.commerce.platform.tracking.events.TrackingEvent
# class.
#
behaviorTracking.persistToDatabase=\
    AddToCartEvent,\
    BuyEvent,\
    CampaignUserActivityEvent,\
    ClickContentEvent,\
    ClickProductEvent,\
    ClickCampaignEvent,\
    DisplayContentEvent,\
    DisplayProductEvent,\
    DisplayCampaignEvent,\
    PurchaseCartEvent,\
    RemoveFromCartEvent,\
    RuleEvent,\
    SessionBeginEvent,\
    SessionEndEvent,\
    SessionLoginEvent,\
    UserRegistrationEvent
# For persistence of tracking events to the database, a cache is used
# to accumulate events (rather than generating a single database hit
# for each event). The events are swept to the database based
# on size and time. Every checkIntervalSec seconds, a size check
# is performed, and if the cache size is greater than the maxCount
# threshold, the events are swept to the database. Every maxAgeSec
# seconds, a sweep of the events in the cache is forced.
#
# The number of events are cached before a size-based sweep of
# tracking events to the database can be triggered.
#
behaviorTracking.cache.maxCount=200
# Every checkIntervalSec seconds, the cumulative cache size 
# will be checked. If this check yields a size greater than
# behaviorTracking.cache.maxCount, the events will be flushed
# to the database.
#
behaviorTracking.cache.checkIntervalSec=5
# The time to wait before forcing a flush to the database
# in seconds. This is the longest amount of time that an event
# will exist in any cache.
#
behaviorTracking.cache.maxAgeSec=30
# Database connection pool name to use for behavior tracking data
behaviorTracking.database.connectionPool=commercePool
##############################################
# Asynchronous Event Service
##############################################
#
# Listeners for the asynchronous side of the event service. Each listener
# expresses interest in what Event Types it can handle. Events of that
# type sent to the EventService will be dispatched to the handler.
# This property should be a comma-delimited list of (fully qualified)
# class names. Classes listed here must implement the interface
# com.bea.commerce.platform.events.EventListener
# and must also have a no-args (default) constructor.
#
asynchronousHandler.listeners=\
    com.bea.commerce.campaign.internal.AsyncCampaignEventListener

Mail Service Properties

The first property in Listing 1-22 determines name of the SMTP host that the Mail Service sends to the JavaMail API.

The last two properties redirect requests to a proxy server. Use these properties in clustered environments.

The remaining properties determine how campaigns address e-mails that they send as part of a scenario action. For more information, refer to "Setting Properties for the Mail Service," under "Setting Up and Sending Email for Campaigns" in the Guide to Developing Campaign Infrastructure.

Listing 1-22 Mail Service Properties

###############################################
# MailService and MailAction properties
# SMTP Host for the MailService to use
mail.smtpHost=walawala.sprockets.com
# A default from-address, if none is provided to the MailAction
mailAction.defaultFromAddress=acme@sprockets.com
# The property set to query for the user's email address
mailAction.emailPropertySet=Customer Properties
# The name of the property to query for the user's email address
mailAction.emailPropertyName=email
# The property set that contains the email opt-in property
mailAction.optInPropertySet=Demographics
# The name of the email opt-in property. If a user sets this to
# false, MailAction will not send any emails to that user.
mailAction.optInPropertyName=Email_Opt_In
# The name of the server that contains the email-generating JSP's
# (overriding this should only be necessary in a cluster)
#mailAction.jspHost=localhost
# The port of the server that contains the email-generating JSP's
# (overriding this should only be necessary in a cluster)
#mailAction.jspPort=7501

AdTarget Properties

The properties in Listing 1-23 support ad placeholders and the <ad:adTarget> JSP tag.

The adtargettag.rendering property specifies the class that generates the HTML elements that the browser requires to display an ad through the <ad:adTarget> JSP tag. WebLogic Personalization Server provides only one class. If you write your own class, it must implement the bea.commerce.platform.ad.adContentProvider interface. For more information, refer to the WebLogic Personalization Server Javadoc.

The adtargettag.eventtracking property determines the class that the adTarget tag uses to access the Event Service. The WebLogic Personalization Server installer configures this property.

The adtargettag.rendering.* property specifies classes to generate HTML for additional MIME types. For more information, refer to "Supporting Additional MIME Types" under "Working with Ad Placeholders" in the Guide to Building Personalized Applications.

The adservicebean.display.flush.size property determines the number of display counts that are stored in memory before updating the database. The Campaign Service uses display counts to determine whether a campaign has met its end goals. Each time an ad placeholder displays an ad as a result of a scenario action, the Campaign Service updates the display count. With the default setting of 10, the Campaign Service does not update the display count in the database until 10 ads have displayed as a result of one or more scenario actions placing queries in ad placeholders.

If the server crashes before the Campaign Server flushes this display-count buffer to the database, you can lose display-count updates, up to the value of the adservicebean.display.flush.size property.

For sites with high traffic, increase this number to a range of 50 to 100.

Listing 1-23 AdTarget Properties

###############################################
# AdTargetTag Properties
adtargettag.rendering=com.bea.commerce.platform.ad.AdClickThruServlet
# This is the class that implements the AdEventTracker interface
# and is used to raise events
adtargettag.eventtracking=com.bea.commerce.campaign.AdTracking
# Additional classes to render content based upon mime type
# To use replace the "text.html" with the mime type, replacing any
# '/' characters with '.'
# Place the name of the java class that handles the mime type after the '='
#adtargettag.rendering.text.html=
# This value determines how many display update counts are cached before
# we flush them to the database
adservicebean.display.flush.size=10

 

back to top previous page next page