Class MetadataProviderServer
java.lang.Object
com.lightstreamer.adapters.remote.Server
com.lightstreamer.adapters.remote.MetadataProviderServer
public class MetadataProviderServer extends Server
A Remote Server object which can run a Remote Metadata Adapter and connect it
to a Proxy Metadata Adapter running on Lightstreamer Server.
The object should be provided with a MetadataProvider instance and with suitable initialization parameters and established connections, then activated through
By default, the invocations to the Metadata Adapter methods will be done in an unlimited thread pool. A thread pool maximum size can be specified through the custom "lightstreamer.metadata.pool.size" system property. A size of 1 enforces strictly sequential invocations and can be used if parallelization of the calls is not supported by the Metadata Adapter. A size of 0 or negative also implies an unlimited thread pool.
Note that requests with an implicit ordering, like notifyNewSession and NotifySessionClose for the same session, are always guaranteed to be sequentialized in the right way, although they may not occur in the same thread.
The object should be provided with a MetadataProvider instance and with suitable initialization parameters and established connections, then activated through
Server.start()
and finally disposed through Server.close()
.
Further reuse of the same instance is not supported. By default, the invocations to the Metadata Adapter methods will be done in an unlimited thread pool. A thread pool maximum size can be specified through the custom "lightstreamer.metadata.pool.size" system property. A size of 1 enforces strictly sequential invocations and can be used if parallelization of the calls is not supported by the Metadata Adapter. A size of 0 or negative also implies an unlimited thread pool.
Note that requests with an implicit ordering, like notifyNewSession and NotifySessionClose for the same session, are always guaranteed to be sequentialized in the right way, although they may not occur in the same thread.
-
Constructor Summary
Constructors Constructor Description MetadataProviderServer()
Creates an empty server still to be configured and started.MetadataProviderServer(boolean initializeOnStart)
Deprecated.This constructor is deprecated, because the setting of initializeOnStart as true is going to be no longer supported. -
Method Summary
Modifier and Type Method Description MetadataProvider
getAdapter()
Gets the configured Metadata Adapter that is running or will run.java.lang.String
getAdapterConfig()
Gets the pathname of an optional configuration file for the Remote Metadata Adapter, to be passed to the init method.java.util.Map<java.lang.String,java.lang.String>
getAdapterParams()
Gets the Map object to be passed to the init method of the Remote Metadata Adapter, to supply optional parameters.void
setAdapter(MetadataProvider adapter)
Sets the Remote Metadata Adapter instance to be run.void
setAdapterConfig(java.lang.String configFile)
Sets the pathname of an optional configuration file for the Remote Metadata Adapter, to be passed to the init method.void
setAdapterParams(java.util.Map<java.lang.String,java.lang.String> params)
Sets a Map object to be passed to the init method of the Remote Metadata Adapter, to supply optional parameters.Methods inherited from class com.lightstreamer.adapters.remote.Server
close, getExceptionHandler, getName, getNotifyStream, getRemotePassword, getRemoteUser, getReplyStream, getRequestStream, setExceptionHandler, setLoggerProvider, setName, setNotifyStream, setRemotePassword, setRemoteUser, setReplyStream, setRequestStream, start
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
MetadataProviderServer
public MetadataProviderServer()Creates an empty server still to be configured and started. The Init method of the Remote Adapter will be invoked only upon a Proxy Adapter request.- Throws:
java.lang.IllegalArgumentException
- in case something wrong is supplied in system properties related with Metadata Adapter processing.
-
MetadataProviderServer
@Deprecated public MetadataProviderServer(boolean initializeOnStart)Deprecated.This constructor is deprecated, because the setting of initializeOnStart as true is going to be no longer supported. Use the other constructor, which implies initializeOnStart as false. As a consequence of this replacement, the init method of the MetadataProvider implementation object would be invoked only after the connection and it would receive additional parameters sent by the Proxy Adapter. If any initialization stuff on the MetadataProvider implementation object has to be performed earlier, it should be done through a dedicated method before invoking start. As another consequence, the start method would no longer throw a MetadataAdapterException; any related catch block could safely assert false.Creates an empty server still to be configured and started.- Parameters:
initializeOnStart
- If true, the init method of the Remote Adapter will be invoked immediately rather than upon a Proxy Adapter request. The Proxy Adapter request will then just receive a successful answer. This can shorten the connection phase, which will start only after the return of init; on the other hand, any initialization parameters supplied by the Proxy Adapter will not be available.- Throws:
java.lang.IllegalArgumentException
- in case something wrong is supplied in system properties related with Metadata Adapter processing.
-
-
Method Details
-
setAdapter
Sets the Remote Metadata Adapter instance to be run.- Parameters:
adapter
- the Remote Metadata Adapter instance to be run.
-
getAdapter
Gets the configured Metadata Adapter that is running or will run.- Returns:
- the configured Metadata Adapter
-
setAdapterParams
public final void setAdapterParams(@Nonnull java.util.Map<java.lang.String,java.lang.String> params)Sets a Map object to be passed to the init method of the Remote Metadata Adapter, to supply optional parameters.
The default value is an empty HashMap.- Parameters:
params
- the Map to be passed to the init method of the Remote Metadata Adapter- See Also:
MetadataProvider.init(Map, String)
-
getAdapterParams
@Nonnull public final java.util.Map<java.lang.String,java.lang.String> getAdapterParams()Gets the Map object to be passed to the init method of the Remote Metadata Adapter, to supply optional parameters.
The default value is an empty HashMap.- Returns:
- the Map object to be passed to the init method of the Remote Metadata Adapter
- See Also:
MetadataProvider.init(Map, String)
-
setAdapterConfig
public final void setAdapterConfig(@Nullable java.lang.String configFile)Sets the pathname of an optional configuration file for the Remote Metadata Adapter, to be passed to the init method.
The default value is null.- Parameters:
configFile
- the pathname of an optional configuration file for the Remote Metadata Adapter.- See Also:
MetadataProvider.init(Map, String)
-
getAdapterConfig
@Nullable public final java.lang.String getAdapterConfig()Gets the pathname of an optional configuration file for the Remote Metadata Adapter, to be passed to the init method.
The default value is null.- Returns:
- the pathname of an optional configuration file for the Remote Metadata Adapter
- See Also:
MetadataProvider.init(Map, String)
-