The /atg/endeca/assembler/cartridge/manager/MdexResource
component is a request-scoped component that represents a connection to a single MDEX. The NucleusAssembler
uses this component to connect to the correct MDEX for content.
The MdexResource
component typically uses a $basedOn
property to reference either a DefaultMdexResource
component or some other component that can resolve which MDEX to connect to when an application is supported by multiple MDEX instances. For example, a multi-language application may use a single MDEX for all of its languages or it may have a separate MDEX for each language. For the single MDEX case, the MdexResource
component references the DefaultMdexResource
component, which is configured to connect to that single MDEX. For the multiple MDEX case, Oracle ATG Web Commerce ships with a PerLanguageMdexResourceResolver
component that can determine which MDEX to connect to based on the locale of the current request.
The following sections provide some additional details on the DefaultMdexResource
and PerLanguageMdexResourceResolver
components themselves.
Note: For more details on using $basedOn
properties, see the ATG Platform Programming Guide.
DefaultMdexResource
Out of the box, the MdexResource
component references the /atg/endeca/assembler/cartridge/manager/DefaultMdexResource
component. The DefaultMdexResource
component is an instance of com.endeca.infront.navigation.model.MdexResource
class and is request-scoped. It has host
and port
properties that determine which MDEX to connect to.
PerLanguageMdexResourceResolver
The /atg/endeca/assembler/cartridge/manager/PerLanguageMdexResourceResolver
component is a request-scoped instance of the atg.endeca.assembler.navigation.PerLanguageGenericReference
class. The PerLanguageGenericReference
class attempts to resolve a component using a base component path with an additional language-specific suffix. If the PerLanguageGenericReference
class cannot resolve the component, it tries to resolve the component using a defaultComponentPath
property instead.
Because it is intended to resolve the path to an MdexResource
component, the PerLanguageMdexResourceResolver
component specifies the following for its defaultComponentPath
and componentBasePath
properties:
# The default MdexResource to use if a language-specific MdexResource # cannot be found. defaultComponentPath=/atg/endeca/assembler/cartridge/manager/DefaultMdexResource # The base path for language specific MdexResource components. This # will have suffixes like "_en" and "_es" tacked on. componentBasePath=/atg/endeca/assembler/cartridge/manager/MdexResource
Additional Multi-Language Configuration Requirements
For each language-specific MdexResource
component, you should create a properties file in the /atg/endeca/assembler/cartridge/manager
Nucleus path that specifies the host
and port
for the MDEX that supports that language. For example:
$basedOn=DefaultMdexResource # Mdex host host=hostname
# Mdex port port=port_number