Class IgniteServicesImpl
- java.lang.Object
-
- org.apache.ignite.internal.AsyncSupportAdapter
-
- org.apache.ignite.internal.IgniteServicesImpl
-
- All Implemented Interfaces:
Externalizable,Serializable,IgniteServices,IgniteServicesEx,IgniteAsyncSupport
public class IgniteServicesImpl extends AsyncSupportAdapter implements IgniteServicesEx, Externalizable
IgniteServicesimplementation.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static longDFLT_TIMEOUTDefault timeout.-
Fields inherited from class org.apache.ignite.internal.AsyncSupportAdapter
curFut
-
-
Constructor Summary
Constructors Constructor Description IgniteServicesImpl()Required byExternalizable.IgniteServicesImpl(GridKernalContext ctx, ClusterGroupAdapter prj, boolean async)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcancel(String name)Cancels service deployment.voidcancelAll()Cancels all deployed services.voidcancelAll(Collection<String> names)Cancels services with specified names.IgniteFuture<Void>cancelAllAsync()Asynchronously cancels all deployed services.IgniteFuture<Void>cancelAllAsync(Collection<String> names)Asynchronously cancels services with specified names.IgniteFuture<Void>cancelAsync(String name)Asynchronously cancels service deployment.ClusterGroupclusterGroup()Gets the cluster group to which thisIgniteServicesinstance belongs.voiddeploy(ServiceConfiguration cfg)Deploys multiple instances of the service on the grid according to provided configuration.voiddeployAll(Collection<ServiceConfiguration> cfgs)Deploys multiple services described by provided configurations.IgniteFuture<Void>deployAllAsync(Collection<ServiceConfiguration> cfgs)Asynchronously deploys multiple services described by provided configurations.IgniteFuture<Void>deployAsync(ServiceConfiguration cfg)Asynchronously deploys multiple instances of the service on the grid according to provided configuration.voiddeployClusterSingleton(String name, Service svc)Deploys a cluster-wide singleton service.IgniteFuture<Void>deployClusterSingletonAsync(String name, Service svc)Asynchronously deploys a cluster-wide singleton service.voiddeployKeyAffinitySingleton(String name, Service svc, @Nullable String cacheName, Object affKey)Deploys one instance of this service on the primary node for a given affinity key.IgniteFuture<Void>deployKeyAffinitySingletonAsync(String name, Service svc, @Nullable String cacheName, Object affKey)Asynchronously deploys one instance of this service on the primary node for a given affinity key.voiddeployMultiple(String name, Service svc, int totalCnt, int maxPerNodeCnt)Deploys multiple instances of the service on the grid.IgniteFuture<Void>deployMultipleAsync(String name, Service svc, int totalCnt, int maxPerNodeCnt)Asynchronously deploys multiple instances of the service on the grid.voiddeployNodeSingleton(String name, Service svc)Deploys a per-node singleton service.IgniteFuture<Void>deployNodeSingletonAsync(String name, Service svc)Asynchronously deploys a per-node singleton service.voidreadExternal(ObjectInput in)protected ObjectreadResolve()Reconstructs object on unmarshalling.<T> Tservice(String name)Gets locally deployed service with specified name.Collection<ServiceDescriptor>serviceDescriptors()Gets metadata about all deployed services in the grid.<T> TserviceProxy(String name, Class<? super T> svcItf, boolean sticky)Gets a handle on remote or local service.<T> TserviceProxy(String name, Class<? super T> svcItf, boolean sticky, long timeout)Gets a handle on remote or local service with the timeout.<T> TserviceProxy(String name, Class<? super T> svcItf, boolean sticky, long timeout, boolean keepBinary)<T> TserviceProxy(String name, Class<? super T> svcItf, boolean sticky, @Nullable Supplier<Map<String,Object>> callAttrsProvider, long timeout)Gets a remote handle on the service.<T> TserviceProxy(String name, Class<? super T> svcItf, boolean sticky, @Nullable ServiceCallContext callCtx)Gets a handle on remote or local service with the specified caller context.<T> TserviceProxy(String name, Class<? super T> svcItf, boolean sticky, @Nullable ServiceCallContext callCtx, long timeout)Gets a handle on remote or local service with the specified caller context and the timeout.<T> Collection<T>services(String name)Gets all locally deployed services with specified name.IgniteServiceswithAsync()Gets instance of this component with asynchronous mode enabled.voidwriteExternal(ObjectOutput out)-
Methods inherited from class org.apache.ignite.internal.AsyncSupportAdapter
createAsyncInstance, createFuture, future, future, isAsync, saveOrGet
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.ignite.lang.IgniteAsyncSupport
future, isAsync
-
-
-
-
Field Detail
-
DFLT_TIMEOUT
public static final long DFLT_TIMEOUT
Default timeout.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IgniteServicesImpl
public IgniteServicesImpl()
Required byExternalizable.
-
IgniteServicesImpl
public IgniteServicesImpl(GridKernalContext ctx, ClusterGroupAdapter prj, boolean async)
- Parameters:
ctx- Kernal context.prj- Projection.async- Async support flag.
-
-
Method Detail
-
clusterGroup
public ClusterGroup clusterGroup()
Gets the cluster group to which thisIgniteServicesinstance belongs.- Specified by:
clusterGroupin interfaceIgniteServices- Returns:
- Cluster group to which this
IgniteServicesinstance belongs.
-
deployNodeSingleton
public void deployNodeSingleton(String name, Service svc)
Deploys a per-node singleton service. Ignite will guarantee that there is always one instance of the service running on each node. Whenever new nodes are started within the underlying cluster group, Ignite will automatically deploy one instance of the service on every new node.This method is analogous to calling
deployMultiple(name, svc, 0, 1)method.- Specified by:
deployNodeSingletonin interfaceIgniteServices- Parameters:
name- Service name.svc- Service instance.
-
deployNodeSingletonAsync
public IgniteFuture<Void> deployNodeSingletonAsync(String name, Service svc)
Asynchronously deploys a per-node singleton service. Ignite will guarantee that there is always one instance of the service running on each node. Whenever new nodes are started within the underlying cluster group, Ignite will automatically deploy one instance of the service on every new node.This method is analogous to calling
deployMultipleAsync(name, svc, 0, 1)method.- Specified by:
deployNodeSingletonAsyncin interfaceIgniteServices- Parameters:
name- Service name.svc- Service instance.- Returns:
- a Future representing pending completion of the operation.
-
deployClusterSingleton
public void deployClusterSingleton(String name, Service svc)
Deploys a cluster-wide singleton service. Ignite will guarantee that there is always one instance of the service in the cluster. In case if grid node on which the service was deployed crashes or stops, Ignite will automatically redeploy it on another node. However, if the node on which the service is deployed remains in topology, then the service will always be deployed on that node only, regardless of topology changes.Note that in case of topology changes, due to network delays, there may be a temporary situation when a singleton service instance will be active on more than one node (e.g. crash detection delay).
This method is analogous to calling
deployMultiple(name, svc, 1, 1)method.- Specified by:
deployClusterSingletonin interfaceIgniteServices- Parameters:
name- Service name.svc- Service instance.
-
deployClusterSingletonAsync
public IgniteFuture<Void> deployClusterSingletonAsync(String name, Service svc)
Asynchronously deploys a cluster-wide singleton service. Ignite will guarantee that there is always one instance of the service in the cluster. In case if grid node on which the service was deployed crashes or stops, Ignite will automatically redeploy it on another node. However, if the node on which the service is deployed remains in topology, then the service will always be deployed on that node only, regardless of topology changes.Note that in case of topology changes, due to network delays, there may be a temporary situation when a singleton service instance will be active on more than one node (e.g. crash detection delay).
This method is analogous to calling
deployMultipleAsync(name, svc, 1, 1)method.- Specified by:
deployClusterSingletonAsyncin interfaceIgniteServices- Parameters:
name- Service name.svc- Service instance.- Returns:
- a Future representing pending completion of the operation.
-
deployMultiple
public void deployMultiple(String name, Service svc, int totalCnt, int maxPerNodeCnt)
Deploys multiple instances of the service on the grid. Ignite will deploy a maximum amount of services equal to'totalCnt'parameter making sure that there are no more than'maxPerNodeCnt'service instances running on each node. Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make sure that each node will end up with about equal number of deployed instances whenever possible.Note that at least one of
'totalCnt'or'maxPerNodeCnt'parameters must have value greater than0.This method is analogous to the invocation of
IgniteServices.deploy(org.apache.ignite.services.ServiceConfiguration)method as follows:ServiceConfiguration cfg = new ServiceConfiguration(); cfg.setName(name); cfg.setService(svc); cfg.setTotalCount(totalCnt); cfg.setMaxPerNodeCount(maxPerNodeCnt); ignite.services().deploy(cfg);- Specified by:
deployMultiplein interfaceIgniteServices- Parameters:
name- Service name.svc- Service instance.totalCnt- Maximum number of deployed services in the grid,0for unlimited.maxPerNodeCnt- Maximum number of deployed services on each node,0for unlimited.
-
deployMultipleAsync
public IgniteFuture<Void> deployMultipleAsync(String name, Service svc, int totalCnt, int maxPerNodeCnt)
Asynchronously deploys multiple instances of the service on the grid. Ignite will deploy a maximum amount of services equal to'totalCnt'parameter making sure that there are no more than'maxPerNodeCnt'service instances running on each node. Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make sure that each node will end up with about equal number of deployed instances whenever possible.Note that at least one of
'totalCnt'or'maxPerNodeCnt'parameters must have value greater than0.This method is analogous to the invocation of
IgniteServices.deployAsync(org.apache.ignite.services.ServiceConfiguration)method as follows:ServiceConfiguration cfg = new ServiceConfiguration(); cfg.setName(name); cfg.setService(svc); cfg.setTotalCount(totalCnt); cfg.setMaxPerNodeCount(maxPerNodeCnt); ignite.services().deployAsync(cfg);- Specified by:
deployMultipleAsyncin interfaceIgniteServices- Parameters:
name- Service name.svc- Service instance.totalCnt- Maximum number of deployed services in the grid,0for unlimited.maxPerNodeCnt- Maximum number of deployed services on each node,0for unlimited.- Returns:
- a Future representing pending completion of the operation.
-
deployKeyAffinitySingleton
public void deployKeyAffinitySingleton(String name, Service svc, @Nullable @Nullable String cacheName, Object affKey)
Deploys one instance of this service on the primary node for a given affinity key. Whenever topology changes and primary node assignment changes, Ignite will always make sure that the service is undeployed on the previous primary node and deployed on the new primary node.Note that in case of topology changes, due to network delays, there may be a temporary situation when a service instance will be active on more than one node (e.g. crash detection delay).
This method is analogous to the invocation of
IgniteServices.deploy(org.apache.ignite.services.ServiceConfiguration)method as follows:ServiceConfiguration cfg = new ServiceConfiguration(); cfg.setName(name); cfg.setService(svc); cfg.setCacheName(cacheName); cfg.setAffinityKey(affKey); cfg.setTotalCount(1); cfg.setMaxPerNodeCount(1); ignite.services().deploy(cfg);- Specified by:
deployKeyAffinitySingletonin interfaceIgniteServices- Parameters:
name- Service name.svc- Service instance.cacheName- Name of the cache on which affinity for key should be calculated,nullfor default cache.affKey- Affinity cache key.
-
deployKeyAffinitySingletonAsync
public IgniteFuture<Void> deployKeyAffinitySingletonAsync(String name, Service svc, @Nullable @Nullable String cacheName, Object affKey)
Asynchronously deploys one instance of this service on the primary node for a given affinity key. Whenever topology changes and primary node assignment changes, Ignite will always make sure that the service is undeployed on the previous primary node and deployed on the new primary node.Note that in case of topology changes, due to network delays, there may be a temporary situation when a service instance will be active on more than one node (e.g. crash detection delay).
This method is analogous to the invocation of
IgniteServices.deployAsync(org.apache.ignite.services.ServiceConfiguration)method as follows:ServiceConfiguration cfg = new ServiceConfiguration(); cfg.setName(name); cfg.setService(svc); cfg.setCacheName(cacheName); cfg.setAffinityKey(affKey); cfg.setTotalCount(1); cfg.setMaxPerNodeCount(1); ignite.services().deployAsync(cfg);- Specified by:
deployKeyAffinitySingletonAsyncin interfaceIgniteServices- Parameters:
name- Service name.svc- Service instance.cacheName- Name of the cache on which affinity for key should be calculated,nullfor default cache.affKey- Affinity cache key.- Returns:
- a Future representing pending completion of the operation.
-
deploy
public void deploy(ServiceConfiguration cfg)
Deploys multiple instances of the service on the grid according to provided configuration. Ignite will deploy a maximum amount of services equal tocfg.getTotalCount()parameter making sure that there are no more thancfg.getMaxPerNodeCount()service instances running on each node. Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make sure that each node will end up with about equal number of deployed instances whenever possible.If
cfg.getAffinityKey()is notnull, then Ignite will deploy the service on the primary node for given affinity key. The affinity will be calculated on the cache withcfg.getCacheName()name.If
cfg.getNodeFilter()is notnull, then Ignite will deploy service on all grid nodes for which the provided filter evaluates totrue. The node filter will be checked in addition to the underlying cluster group filter, or the whole grid, if the underlying cluster group includes all the cluster nodes.Note that at least one of
'totalCnt'or'maxPerNodeCnt'parameters must have value greater than0.Here is an example of creating service deployment configuration:
ServiceConfiguration cfg = new ServiceConfiguration(); cfg.setName(name); cfg.setService(svc); cfg.setTotalCount(0); // Unlimited. cfg.setMaxPerNodeCount(2); // Deploy 2 instances of service on each node. ignite.services().deploy(cfg);- Specified by:
deployin interfaceIgniteServices- Parameters:
cfg- Service configuration.
-
deployAsync
public IgniteFuture<Void> deployAsync(ServiceConfiguration cfg)
Asynchronously deploys multiple instances of the service on the grid according to provided configuration. Ignite will deploy a maximum amount of services equal tocfg.getTotalCount()parameter making sure that there are no more thancfg.getMaxPerNodeCount()service instances running on each node. Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make sure that each node will end up with about equal number of deployed instances whenever possible.If
cfg.getAffinityKey()is notnull, then Ignite will deploy the service on the primary node for given affinity key. The affinity will be calculated on the cache withcfg.getCacheName()name.If
cfg.getNodeFilter()is notnull, then Ignite will deploy service on all grid nodes for which the provided filter evaluates totrue. The node filter will be checked in addition to the underlying cluster group filter, or the whole grid, if the underlying cluster group includes all the cluster nodes.Note that at least one of
'totalCnt'or'maxPerNodeCnt'parameters must have value greater than0.Here is an example of creating service deployment configuration:
ServiceConfiguration cfg = new ServiceConfiguration(); cfg.setName(name); cfg.setService(svc); cfg.setTotalCount(0); // Unlimited. cfg.setMaxPerNodeCount(2); // Deploy 2 instances of service on each node. ignite.services().deployAsync(cfg);- Specified by:
deployAsyncin interfaceIgniteServices- Parameters:
cfg- Service configuration.- Returns:
- a Future representing pending completion of the operation.
-
deployAll
public void deployAll(Collection<ServiceConfiguration> cfgs)
Deploys multiple services described by provided configurations. Depending on specified parameters, multiple instances of the same service may be deployed (seeServiceConfiguration). Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make sure that each node will end up with about equal number of deployed instances whenever possible. If deployment of some of the provided services fails, thenServiceDeploymentExceptioncontaining a list of failed services will be thrown. It is guaranteed that all services that were provided to this method and are not present in the list of failed services are successfully deployed by the moment of the exception being thrown. Note that if exception is thrown, then partial deployment may have occurred.- Specified by:
deployAllin interfaceIgniteServices- Parameters:
cfgs-Collectionof service configurations to be deployed.- See Also:
IgniteServices.deploy(ServiceConfiguration),IgniteServices.deployAllAsync(Collection)
-
deployAllAsync
public IgniteFuture<Void> deployAllAsync(Collection<ServiceConfiguration> cfgs)
Asynchronously deploys multiple services described by provided configurations. Depending on specified parameters, multiple instances of the same service may be deployed (seeServiceConfiguration). Whenever topology changes, Ignite will automatically rebalance the deployed services within cluster to make sure that each node will end up with about equal number of deployed instances whenever possible. If deployment of some of the provided services fails, thenServiceDeploymentExceptioncontaining a list of failed services will be thrown fromget()method of the returned future. It is guaranteed that all services, that were provided to this method and are not present in the list of failed services, are successfully deployed by the moment of the exception being thrown. Note that if exception is thrown, then partial deployment may have occurred.- Specified by:
deployAllAsyncin interfaceIgniteServices- Parameters:
cfgs-Collectionof service configurations to be deployed.- Returns:
- a Future representing pending completion of the operation.
- See Also:
IgniteServices.deploy(ServiceConfiguration),IgniteServices.deployAll(Collection)
-
cancel
public void cancel(String name)
Cancels service deployment. If a service with specified name was deployed on the grid, thenService.cancel(org.apache.ignite.services.ServiceContext)method will be called on it.Note that Ignite cannot guarantee that the service exits from
Service.execute(org.apache.ignite.services.ServiceContext)method wheneverService.cancel(org.apache.ignite.services.ServiceContext)is called. It is up to the user to make sure that the service code properly reacts to cancellations.Supports asynchronous execution (see
IgniteAsyncSupport).- Specified by:
cancelin interfaceIgniteServices- Parameters:
name- Name of service to cancel.
-
cancelAsync
public IgniteFuture<Void> cancelAsync(String name)
Asynchronously cancels service deployment. If a service with specified name was deployed on the grid, thenService.cancel(org.apache.ignite.services.ServiceContext)method will be called on it.Note that Ignite cannot guarantee that the service exits from
Service.execute(org.apache.ignite.services.ServiceContext)method wheneverService.cancel(org.apache.ignite.services.ServiceContext)is called. It is up to the user to make sure that the service code properly reacts to cancellations.- Specified by:
cancelAsyncin interfaceIgniteServices- Parameters:
name- Name of service to cancel.- Returns:
- a Future representing pending completion of the operation.
-
cancelAll
public void cancelAll(Collection<String> names)
Cancels services with specified names.Note that depending on user logic, it may still take extra time for a service to finish execution, even after it was cancelled.
Supports asynchronous execution (see
IgniteAsyncSupport).- Specified by:
cancelAllin interfaceIgniteServices- Parameters:
names- Names of services to cancel.
-
cancelAllAsync
public IgniteFuture<Void> cancelAllAsync(Collection<String> names)
Asynchronously cancels services with specified names.Note that depending on user logic, it may still take extra time for a service to finish execution, even after it was cancelled.
- Specified by:
cancelAllAsyncin interfaceIgniteServices- Parameters:
names- Names of services to cancel.- Returns:
- a Future representing pending completion of the operation.
-
cancelAll
public void cancelAll()
Cancels all deployed services.Note that depending on user logic, it may still take extra time for a service to finish execution, even after it was cancelled.
Supports asynchronous execution (see
IgniteAsyncSupport).- Specified by:
cancelAllin interfaceIgniteServices
-
cancelAllAsync
public IgniteFuture<Void> cancelAllAsync()
Asynchronously cancels all deployed services.Note that depending on user logic, it may still take extra time for a service to finish execution, even after it was cancelled.
- Specified by:
cancelAllAsyncin interfaceIgniteServices- Returns:
- a Future representing pending completion of the operation.
-
serviceDescriptors
public Collection<ServiceDescriptor> serviceDescriptors()
Gets metadata about all deployed services in the grid.- Specified by:
serviceDescriptorsin interfaceIgniteServices- Returns:
- Metadata about all deployed services in the grid.
-
service
public <T> T service(String name)
Gets locally deployed service with specified name.- Specified by:
servicein interfaceIgniteServices- Type Parameters:
T- Service type- Parameters:
name- Service name.- Returns:
- Deployed service with specified name.
- See Also:
ServiceConfiguration.setStatisticsEnabled(boolean)
-
serviceProxy
public <T> T serviceProxy(String name, Class<? super T> svcItf, boolean sticky) throws IgniteException
Gets a handle on remote or local service. The proxy is dynamically created and provided for the specified service.- Specified by:
serviceProxyin interfaceIgniteServices- Type Parameters:
T- Service type.- Parameters:
name- Service name.svcItf- Interface for the service.sticky- Whether or not Ignite should always contact the same remote service or try to load-balance between services.- Returns:
- Proxy over service.
- Throws:
IgniteException- If failed to create service proxy.
-
serviceProxy
public <T> T serviceProxy(String name, Class<? super T> svcItf, boolean sticky, long timeout) throws IgniteException
Gets a handle on remote or local service with the timeout. The proxy is dynamically created and provided for the specified service.- Specified by:
serviceProxyin interfaceIgniteServices- Type Parameters:
T- Service type.- Parameters:
name- Service name.svcItf- Interface for the service.sticky- Whether or not Ignite should always contact the same remote service or try to load-balance between services.timeout- If greater than 0 created proxy will wait for service availability only specified time, and will limit remote service invocation time.- Returns:
- Proxy over service.
- Throws:
IgniteException- If failed to create service proxy.
-
serviceProxy
public <T> T serviceProxy(String name, Class<? super T> svcItf, boolean sticky, long timeout, boolean keepBinary) throws IgniteException
- Throws:
IgniteException
-
serviceProxy
public <T> T serviceProxy(String name, Class<? super T> svcItf, boolean sticky, @Nullable @Nullable ServiceCallContext callCtx) throws IgniteException
Gets a handle on remote or local service with the specified caller context. The proxy is dynamically created and provided for the specified service.- Specified by:
serviceProxyin interfaceIgniteServices- Type Parameters:
T- Service type.- Parameters:
name- Service name.svcItf- Interface for the service.sticky- Whether or not Ignite should always contact the same remote service or try to load-balance between services.callCtx- Service call context.- Returns:
- Proxy over service.
- Throws:
IgniteException- If failed to create service proxy.- See Also:
ServiceCallContext
-
serviceProxy
public <T> T serviceProxy(String name, Class<? super T> svcItf, boolean sticky, @Nullable @Nullable ServiceCallContext callCtx, long timeout) throws IgniteException
Gets a handle on remote or local service with the specified caller context and the timeout. The proxy is dynamically created and provided for the specified service.- Specified by:
serviceProxyin interfaceIgniteServices- Type Parameters:
T- Service type.- Parameters:
name- Service name.svcItf- Interface for the service.sticky- Whether or not Ignite should always contact the same remote service or try to load-balance between services.callCtx- Service call context.timeout- If greater than 0 created proxy will wait for service availability only specified time, and will limit remote service invocation time.- Returns:
- Proxy over service.
- Throws:
IgniteException- If failed to create service proxy.- See Also:
ServiceCallContext
-
serviceProxy
public <T> T serviceProxy(String name, Class<? super T> svcItf, boolean sticky, @Nullable @Nullable Supplier<Map<String,Object>> callAttrsProvider, long timeout) throws IgniteException
Gets a remote handle on the service. If service is available locally and no caller context provider is specified, then a local instance is returned and the timeout is ignored, otherwise, a proxy is dynamically created and provided for the specified service.- Specified by:
serviceProxyin interfaceIgniteServicesEx- Type Parameters:
T- Service type.- Parameters:
name- Service name.svcItf- Interface for the service.sticky- Whether or not Ignite should always contact the same remote service or try to load-balance between services.callAttrsProvider- Service call context attributes provider.timeout- If greater than 0 created proxy will wait for service availability only specified time, and will limit remote service invocation time.- Returns:
- Either proxy over remote service or local service if it is deployed locally and no caller context provider is specified.
- Throws:
IgniteException- If failed to create service proxy.
-
services
public <T> Collection<T> services(String name)
Gets all locally deployed services with specified name.- Specified by:
servicesin interfaceIgniteServices- Type Parameters:
T- Service type.- Parameters:
name- Service name.- Returns:
- all deployed services with specified name.
- See Also:
ServiceConfiguration.setStatisticsEnabled(boolean)
-
withAsync
public IgniteServices withAsync()
Gets instance of this component with asynchronous mode enabled.- Specified by:
withAsyncin interfaceIgniteAsyncSupport- Specified by:
withAsyncin interfaceIgniteServices- Overrides:
withAsyncin classAsyncSupportAdapter- Returns:
- Instance of this component with asynchronous mode enabled.
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternalin interfaceExternalizable- Throws:
IOExceptionClassNotFoundException
-
readResolve
protected Object readResolve() throws ObjectStreamException
Reconstructs object on unmarshalling.- Returns:
- Reconstructed object.
- Throws:
ObjectStreamException- Thrown in case of unmarshalling error.
-
-