Announcement: You can find the guides for Commerce 7.5 and later on the new Elastic Path Documentation site. The Developer Center continues to support Commerce 6.13.0 through 7.4.1.Visit new site

Configuring Environment Specific Settings

Configuring Environment Specific Settings

Elastic Path provides two files to configure your deployed Elastic Path applications:

  • ep.properties: Overwrites property placeholders defined in the application's Spring configuration.
  • ep.override.properties: Overwrites the values of any Spring bean in the application.

ep.properties

Using the ep.properties file provides a convenient way to customize your deployed applications. This section describes how to create the ep.properties file and lists the web application settings this file can override.

To create an ep.properties file:

  1. Create a file named ep.properties in one of the following configuration directories:
    • Windows: C:\ep\conf or C:\Users\<username>\ep\conf
    • Linux and OSX: /ep/conf or ~/ep/conf
  2. In ep.properties, define the property values you want to set and save your changes.
  3. Restart your server for the changes to take effect.

Configurable ep.properties

Batch Server

Property Description Developer default

ep.cm.topseller.delay

Specifies the initial delay (in milliseconds) before the server will start to calculate the top sellers

30000

ep.cm.topseller.interval

Specifies the delay (in milliseconds) between recalculations of the top sellers

30000

ep.cm.productrecommendation.delay

Specifies the initial delay (in milliseconds) before the server will start to calculate product recommendations

30000

ep.cm.productrecommendation.interval

Specifies the delay (in milliseconds) between recalculations of product recommendations

30000

ep.cm.searchterms.aggregator.delay Specifies the delay (in milliseconds) before the server will start tracking search term activity. 30000
ep.cm.searchterms.aggregator.interval Specifies the delay (in milliseconds) between updates of search term activity tracking. 30000

Cortex

Property Description Developer default

bundle.environment

Specifies the Cortex work environment. Possible values are dev-bundles or prod-bundles.

dev-bundles

bundle.location

Specifies where Cortex Resource Extensions are deployed.

${project.build.directory}/extensions

JMS Messaging

Property Description Developer default

ep.jms.type

The Java Class type of the JMS Broker Connection Factory.

org.apache.activemq.pool.PooledConnectionFactory

ep.jms.factory The JNDI resource factory used by the application. org.apache.activemq.jndi.JNDIReferenceFactory

ep.jms.url

The URL of the JMS broker.

tcp://localhost:61616

Global Settings

Property Description Developer default

ep.external.ehcache.xml.path

Specifies the path to the external Ehcache configuration file. This property affects all web applications (Cortex, CM Server, Search Server and Integration Server). See Configuring Ehcache for more information.

The file path in ep.external.ehcache.xml.path must be absolute. There are three supported formats as shown in the following examples:
  • ${user.home}/ep/conf/cache/ehcache.xml (Linux and Windows)
  • /ep/conf/cache/ehcache.xml (Linux) or c:/ep/conf/cache/ehcache.xml (Windows)
  • file:///ep/conf/cache/ehcache.xml (Linux) or file:///c:/ep/conf/cache/ehcache.xml (Windows)
Note: Additional Slash

The additional slash in file:/// is required by Spring.

-

Creating an ep.override.properties file

With the ep.override.properties file, you can override the values of any bean running in a deployed application.

  1. Navigate to one of the following directories and create the ep.override.properties file:
    • Windows: C:\ep\conf or C:\Users\<username>\ep\conf
    • Linux and OSX: /ep/conf or ~/ep/conf
  2. In the ep.override.properties file, define the required property values or bean references.
  3. Restart your server for the changes to take effect.

Overriding a bean property

ep.override.properties uses the following syntax:
beanName.propertyName=value
Parameter Description
beanName The bean id.
propertyName The property name to override.
value The new value of the property.
For example, the following settings override OpenJPA's DataCache and RemoteCommitProvider beans:
entityManagerFactory.jpaPropertyMap[openjpa.DataCache]=true
entityManagerFactory.jpaPropertyMap[openjpa.RemoteCommitProvider]=sjvm

Overriding a bean reference

To override a Spring bean reference use the following syntax:
beanName.propertyName=${newBeanName}
Parameter Description
beanName The bean id.
propertyName The property name to override.
newBeanName The new id of the bean.
For example, the following setting enables topSellerJob (disabled by default using the disabled list, a Spring bean defined in commerce-engine/batch/ep-batch/src/main/filtered-resources/spring/scheduling/quartz-setup.xml) in the Batch Server:
topSellerSchedulingTriggersMerger.mergeList=${topSellerSchedulingTriggers}