public class SubscriptionServiceHandler extends ServiceHandler
This base class adds a small layer of abstraction by handling the OPC UA request messages and dispatched responses. It delegates the operation to virtual methods, which by default only return "Not implemented" service results.
You can normally use the standard implementation, SubscriptionManager , which provides a
basic implementation of actual node management.
If you wish to create a completely customized subscription manager, you can override this class and override the protected methods that you wish to implement.
stringTable| Constructor and Description |
|---|
SubscriptionServiceHandler(SubscriptionManager subscriptionManager) |
checkRequestLength, createServiceContext, fireRequestResponse, getEncoderContext, getMaxOperationsPerRequest, getNode, getNodeManagerTable, getOperationLimits, getServer, getSessionManager, handleServiceResultException, hasNode, localizationHintsForServiceContext, setMaxOperationsPerRequest, setRequestResponseListener, toExtensionObject, validateEncoding, validateEncoding, validateOperationalDiagnostics, validateRequest, validateRequest, validateResponse, validateResponse, validateServiceDiagnosticspublic SubscriptionServiceHandler(SubscriptionManager subscriptionManager)
subscriptionManager - public int getMaxMonitoredItemsPerCall()
setMaxMonitoredItemsPerCall(int)public final void onCreateMonitoredItems(EndpointServiceRequest<CreateMonitoredItemsRequest,CreateMonitoredItemsResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onCreateSubscription(EndpointServiceRequest<CreateSubscriptionRequest,CreateSubscriptionResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onDeleteMonitoredItems(EndpointServiceRequest<DeleteMonitoredItemsRequest,DeleteMonitoredItemsResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onDeleteSubscriptions(EndpointServiceRequest<DeleteSubscriptionsRequest,DeleteSubscriptionsResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onModifyMonitoredItems(EndpointServiceRequest<ModifyMonitoredItemsRequest,ModifyMonitoredItemsResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onModifySubscription(EndpointServiceRequest<ModifySubscriptionRequest,ModifySubscriptionResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onPublish(EndpointServiceRequest<PublishRequest,PublishResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onRepublish(EndpointServiceRequest<RepublishRequest,RepublishResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onSetMonitoringMode(EndpointServiceRequest<SetMonitoringModeRequest,SetMonitoringModeResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onSetPublishingMode(EndpointServiceRequest<SetPublishingModeRequest,SetPublishingModeResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onSetTriggering(EndpointServiceRequest<SetTriggeringRequest,SetTriggeringResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic final void onTransferSubscriptions(EndpointServiceRequest<TransferSubscriptionsRequest,TransferSubscriptionsResponse> req) throws ServiceFaultException
ServiceFaultExceptionpublic void setMaxMonitoredItemsPerCall(int maxMonitoredItemsPerCall)
If the value is 0 or negative, the limit is not used. In this case, the
ServiceHandler#setMaxOperationsPerRequest() is used to limit the request size.
The value is reflected to ServerCapabilities/OperationLimits.
maxMonitoredItemsPerCall - the maxMonitoredItemsPerCall to setprotected void createMonitoredItems(ServiceContext serviceContext, CreateMonitoredItemsRequest request, CreateMonitoredItemsResponse response) throws ServiceException
ServiceExceptionprotected void createSubscription(ServiceContext serviceContext, CreateSubscriptionRequest request, CreateSubscriptionResponse response) throws ServiceException
ServiceExceptionprotected void deleteMonitoredItems(ServiceContext serviceContext, DeleteMonitoredItemsRequest request, DeleteMonitoredItemsResponse response) throws ServiceException
ServiceExceptionprotected void deleteSubscriptions(ServiceContext serviceContext, DeleteSubscriptionsRequest request, DeleteSubscriptionsResponse response) throws ServiceException
ServiceExceptionprotected org.slf4j.Logger getLogger()
getLogger in class ServiceHandlerprotected void modifyMonitoredItems(ServiceContext serviceContext, ModifyMonitoredItemsRequest request, ModifyMonitoredItemsResponse response) throws ServiceException
ServiceExceptionprotected void modifySubscription(ServiceContext serviceContext, ModifySubscriptionRequest request, ModifySubscriptionResponse response) throws ServiceException
ServiceExceptionprotected void setMonitoringMode(ServiceContext serviceContext, SetMonitoringModeRequest request, SetMonitoringModeResponse response) throws ServiceException
ServiceExceptionprotected void setPublishingMode(ServiceContext serviceContext, SetPublishingModeRequest request, SetPublishingModeResponse response) throws ServiceException
ServiceExceptionprotected void transferSubscriptions(ServiceContext serviceContext, TransferSubscriptionsRequest request, TransferSubscriptionsResponse response) throws ServiceException
ServiceExceptionCopyright © 2026. All rights reserved.