div | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||||||||
|
Overview
Excerpt |
---|
This section provides a high level overview of how X Platform components are configured. It also serves as a reference for the configuration properties supported by the various components. |
Configuration Repository
The diagram above provides a high level depiction of the X Platform's configuration architecture. Salient aspects of this architecture are:
...
- XML Descriptor: The platform allows an application to describe an application's entire configuration in XML form and programmatically initialize a repository using the XML descriptor. XML Configuration is defined by the Domain Descriptor Language schema, x-ddl.xsd. This is the recommended mechanism if an application can store the platform configuration in XML form, or can convert the configuration from its own form to XML to be supplied to the platform for configuration.
- The application should use the com.neeve.VMConfigurer class to configure the platform using an XML descriptor
- The XML Descriptor is described by its corresponding x-ddl.xsd schema. Usage of XML is described below, and in even greated detail in the DDL Schema Reference documentation.
Component Descriptors: Each platform component is accompanied by a companion configuration descriptor that is used to programmatically configure the component. In addition to implementing setters and getters to set and get configuration attributes, descriptors also implement the ability to save configuration properties to the repository. This allows for application code to programmatically seed configuration information into the repository. This mechanism is suited for use when platform related configuration cannot be easily transformed to XML form. The following are the various descriptor classes:
Component Name Descriptor Class Description SMA Bus com.neeve.sma.MessageBusDescriptor Configures a Bus SMA Channel com.neeve.sma.MessageChannelDescriptor Configures a Bus Channel ODS Store Descriptor com.neeve.ods.StoreDescriptor Configures the Store for an Engine (providing HA) ODS Store Replicator Descriptor com.neeve.ods.StoreReplicatorDescriptor Configures store replication to backup members ODS Persister com.neeve.ods.StorePersisterDescriptor Configures store disk persistence ODS ICR Descriptor com.neeve.ods.StoreInterClusterReplicatorDescriptor Configures store inter cluster replication (e.g. remote data center) AEP Engine com.neeve.aep,AepEngineDescriptor Configures the applications AepEngine XVM (Talon Server) Configures an XVM Note, that with the exception of the SrvConfigDescriptor, it is possible for an application to augment configuration seeded by the XML configuration descriptor programattically with the component descriptor:
Code Block java java @AppInjectionPoint public void setAepEngineDescriptor(AepEngineDescriptor appDescriptor) { appDescriptor.setAppExceptionHandlingPolicy(LogExceptionAndContinue); appDescriptor.save(); if(appDescriptor.getStore() != null) { StoreDescriptor storeDescriptor = StoreDescriptor.load(appDescriptor.getStore()); storeDescriptor.setPersistenceQuorum(1); storeDescriptor.save(); } }
...
X supports describing and initializing platform configuration using XML via its Domain Descriptor Language schema (x-ddl.xsd). This section describes commonly used DDL configuration elements. More detail can be found in DDL Schema Reference, which discusses all of the attributes in more detail.
...