Hi,
Defining the shared properties once for the Metadata Adapter is a possibility.
However, this requires that the Data Adapters can get a pointer to the related Metadata Adapter.
This is not directly provided, but you can easily achieve this, by considering the following hints (note: this assumes in--process java adapters; for remote adapters there may be some complications):
- The Metadata Adapter for an Adapter Set has a unique identifier which it receives as the "adapters_conf.id" parameter in the paramsMap upon init() . All Data Adapters in the same Adapter Set receive the same parameter. Hence the Metadata Adapter can register itself in a static Map by using this identifier.
- You should set <metadata_adapter_initialised_first> as Y in adapters.xml. This ensures that init()is invoked on the various Data Adapters only after the invocation of init() on the Metadata Adapter has terminated.
- The <classloader> setting for all Adapters should be left as "common".
Our demos show examples of communications between the Adapters, although in slightly different contexts. Se the
Chat Demo for instance:
Another possibility, available since Server version 6.1, is to refer to JVM properties.
In this case you will not save the <param> elements, but there you can just refer to common JVM properties and then you can specify the common values elsewhere once.
See <enable_expansion_for_adapters_config> in the Server's main configuration file.