Use the SingleApplicationRoutingStrategy
class if you have a single EAC application, or if you have a separate EAC application for each language. In either case, routing is not affected by sites; for a given language, records for all sites are directed to the EAC application associated with that language.
To use SingleApplicationRoutingStrategy
, set the ApplicationConfiguration.applicationRoutingStrategy
property to null. This property is null by default, so you can leave it unset or set it to null explicitly. If applicationRoutingStrategy
is null, an instance of the SingleApplicationRoutingStrategy
class is created automatically.
Similarly, set the IndexingApplicationConfiguration.routingObjectAdapter
and AssemblerApplicationConfiguration.routingObjectAdapter
properties to null to automatically create instances of the SingleContextRoutingObjectAdapter
and SingleRequestRoutingObjectAdapter
classes.
Additional configuration differs depending on whether you have a single EAC application for all languages or a separate EAC application for each language.
Single EAC Application
If all languages are being handled by the same EAC application, set the ApplicationConfiguration
component’s defaultLanguageForApplications
property to the two-letter language code for the default language. For example:
defaultLanguageForApplications=en
Note that you should set this property even if your data is in only one language.
By default, the name of the application is assumed to be formed by concatenating the value of the ApplicationConfiguration
component’s baseApplicationName
property and the value of the defaultLanguageForApplications
property. For example, if baseApplicationName
is ATG
and defaultLanguageForApplications
is en
, the Oracle Commerce Platform assumes the name of the EAC application is ATGen
. If your application has a different name from the default, specify the name by setting the ApplicationConfiguration
component’s keyToApplicationName
property:
keyToApplicationName=\
default=application-name
For example, if the name of the EAC application is MyApp
:
keyToApplicationName=\
default=MyApp
Note that the key is default
only when there is a single EAC application.
One EAC Application per Language
If each language is being handled by a separate EAC application, set the defaultLanguageForApplications
property to null. This property is null by default, but if it has been subsequently set to a non-null value, you must explicitly set it back to null:
defaultLanguageForApplications^=/Constants.null
The two-letter language codes are used as the application keys for routing. By default, the name of each application is assumed to be the value of the ApplicationConfiguration
component’s baseApplicationName
property plus the two-letter language code. For example, if baseApplicationName
is ATG
and you have records in English, German, and Spanish, the Oracle Commerce Platform assumes the names of the EAC applications are ATGen
, ATGde
, and ATGes
. If your applications are named differently, use the ApplicationConfiguration
component’s keyToApplicationName
property to explicitly map the language codes to your application names. For example:
keyToApplicationName=\
en=MyEnglishApp,\
es=MySpanishApp,\
de=MyGermanApp