With Lightstreamer Server v.3.5, parallel initialization of the Adapters was introduced. This means that any previously suggested mechanisms for letting the Adapters find each other must be made more robust.

In the distribution of Lightstreamer 3.5+ there are several examples of Data and Metadata Adapter finding each other in a robust way. An example is reported below:

adapters.xml:


ChatDataAdapter.java:


ChatMetadataAdapter.java:

Basically, the actual communication between the Adapters should begin only after all the init() methods have completed. In the example above, this is accomplished in the Metadata Adapter by looking for the Data Adapter on the notifyUserMessage() call, which is called after all the init() methods for all Adapters have completed.

More in general, the following rule applies: Any method of any Adapter, except for init() and setListener(), is guaranteed to be called after the init() methods of all the Adapters() have finished their execution.