Interface BatchRequestService
public interface BatchRequestService
Usage request batch processing service. Individual usage requests are submitted for
processing.
-
Method Summary
Modifier and TypeMethodDescriptionReturns the MBean exposing the statistical attributes of Batch Request Service.int
Get the value for the amount of time the BRS will wait for item in the queue.void
setIngressRequestTimeoutMs
(int ingressRequestTimeoutMs) Set the value for the amount of time the BRS will wait for item in the queue.void
shutdown()
Method will gracefully shutdown the BatchRequestService.void
submit
(oracle.communication.brm.charging.messages.framework.RequestEnvelope envelope) Deprecated.void
submitManagement
(ManagementRequest request, SingleResponseConsumer<ManagementResponse> responseConsumer, boolean resubmit) Submit a ManagementRequest for processing.void
submitManagementRequest
(oracle.communication.brm.charging.messages.framework.SingleRequestEnvelope<ManagementRequest> envelope) Deprecated.List
<oracle.communication.brm.charging.messages.framework.MultiResponseEnvelope<oracle.communication.brm.charging.messages.update.UpdateResponse>> submitMSCCUpdateBatch
(List<oracle.communication.brm.charging.messages.update.UpdateRequest> requests, boolean resubmit, int updateResponseTimeout, long updateRequestServerTimeout) Synchronously submit a batch of requests to be processed as MSCCvoid
submitPolicy
(PolicyRequest request, SingleResponseConsumer<PolicyResponse> responseConsumer, boolean resubmit) Submit a PolicyRequest for processing.void
submitQuery
(List<QueryRequest> requests, MultiResponseConsumer<QueryResponse> responseConsumer) Submit a batch of QueryRequests for processing.void
submitQuery
(QueryRequest request, SingleResponseConsumer<QueryResponse> responseConsumer) Submit a QueryRequest for processing.void
submitQuery
(QueryRequest request, SingleResponseConsumer<QueryResponse> responseConsumer, long responseTimeoutEpoch) Submit a QueryRequest for processing.oracle.communication.brm.charging.messages.update.UpdateResponse
submitUpdate
(oracle.communication.brm.charging.messages.update.UpdateRequest request, boolean resubmit) Synchronously submit the update requestList
<oracle.communication.brm.charging.messages.update.UpdateResponse> submitUpdateBatch
(List<oracle.communication.brm.charging.messages.update.UpdateRequest> requests, boolean resubmit) Synchronously submit a batch of update requests using Entry Processorvoid
submitUsage
(List<UsageRequest> requests, MultiResponseConsumer<UsageResponse> responseConsumer, boolean resubmit) Submit a batch of UsageRequests for processing.void
submitUsage
(UsageRequest request, SingleResponseConsumer<UsageResponse> responseConsumer, boolean resubmit) Submit a UsageRequest for processing.
-
Method Details
-
submitUsage
void submitUsage(UsageRequest request, SingleResponseConsumer<UsageResponse> responseConsumer, boolean resubmit) throws UserNotFoundException, SystemHealthException Submit a UsageRequest for processing. The processing of the UsageRequest happens asynchronously.- Parameters:
request
- the request to sendresponseConsumer
- responseConsumer that will receive the responseresubmit
- indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request.- Throws:
UserNotFoundException
- if user could not be located at the time of envelope creationSystemHealthException
-
submitUsage
void submitUsage(List<UsageRequest> requests, MultiResponseConsumer<UsageResponse> responseConsumer, boolean resubmit) throws MessagesException, SystemHealthException, UserNotFoundException Submit a batch of UsageRequests for processing. The processing of the UsageRequests happens asynchronously.- Parameters:
requests
- the request to sendresponseConsumer
- responseConsumer that will receive the responseresubmit
- indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request.- Throws:
MessagesException
- if envelope creation goes wrongUserNotFoundException
- if user could not be located at the time of envelope creationSystemHealthException
-
submitUpdateBatch
List<oracle.communication.brm.charging.messages.update.UpdateResponse> submitUpdateBatch(List<oracle.communication.brm.charging.messages.update.UpdateRequest> requests, boolean resubmit) throws MessagesException, ExecutionException, InterruptedException, TimeoutException, UserNotFoundException Synchronously submit a batch of update requests using Entry Processor- Parameters:
requests
- List of update requestsresubmit
- indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new requestrequests
- List of update requestsresubmit
- indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request- Returns:
- List of update responses
- Throws:
MessagesException
- if envelope creation goes wrongExecutionException
InterruptedException
TimeoutException
UserNotFoundException
-
submitMSCCUpdateBatch
List<oracle.communication.brm.charging.messages.framework.MultiResponseEnvelope<oracle.communication.brm.charging.messages.update.UpdateResponse>> submitMSCCUpdateBatch(List<oracle.communication.brm.charging.messages.update.UpdateRequest> requests, boolean resubmit, int updateResponseTimeout, long updateRequestServerTimeout) throws MessagesException, ExecutionException, InterruptedException, TimeoutException, BRSOverloadException Synchronously submit a batch of requests to be processed as MSCC- Parameters:
requests
- List of update requestsresubmit
- indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new requestupdateResponseTimeout
- response Maxtimeout for MSCC requestupdateRequestServerTimeout
-- Returns:
- List of MSCC responses one per customer id
- Throws:
MessagesException
ExecutionException
InterruptedException
TimeoutException
BRSOverloadException
-
submitUpdate
oracle.communication.brm.charging.messages.update.UpdateResponse submitUpdate(oracle.communication.brm.charging.messages.update.UpdateRequest request, boolean resubmit) throws MessagesException, ExecutionException, InterruptedException, TimeoutException, UserNotFoundException Synchronously submit the update request- Parameters:
request
- update requestresubmit
- indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request- Returns:
- update response
- Throws:
MessagesException
- if envelope creation goes wrongExecutionException
InterruptedException
TimeoutException
UserNotFoundException
-
submitQuery
void submitQuery(QueryRequest request, SingleResponseConsumer<QueryResponse> responseConsumer) throws UserNotFoundException, SystemHealthException Submit a QueryRequest for processing. The processing of the QueryRequest happens asynchronously.- Parameters:
request
- the request to sendresponseConsumer
- responseConsumer that will receive the response- Throws:
UserNotFoundException
- if user could not be located at the time of envelope creationSystemHealthException
-
submitQuery
void submitQuery(QueryRequest request, SingleResponseConsumer<QueryResponse> responseConsumer, long responseTimeoutEpoch) throws UserNotFoundException, SystemHealthException Submit a QueryRequest for processing. The processing of the QueryRequest happens asynchronously.- Parameters:
request
- the request to sendresponseConsumer
- responseConsumer that will receive the responseresponseTimeoutEpoch
- the time the response should timeout- Throws:
UserNotFoundException
- if user could not be located at the time of envelope creationSystemHealthException
-
submitQuery
void submitQuery(List<QueryRequest> requests, MultiResponseConsumer<QueryResponse> responseConsumer) throws MessagesException, SystemHealthException, UserNotFoundException Submit a batch of QueryRequests for processing. The processing of the QueryRequests happens asynchronously.- Parameters:
requests
- the request to sendresponseConsumer
- responseConsumer that will receive the response- Throws:
MessagesException
- if envelope creation goes wrongUserNotFoundException
- if user could not be located at the time of envelope creationSystemHealthException
-
submitManagement
void submitManagement(ManagementRequest request, SingleResponseConsumer<ManagementResponse> responseConsumer, boolean resubmit) throws MessagesException Submit a ManagementRequest for processing. The processing of the ManagementRequest happens asynchronously.- Parameters:
request
- the request to sendresponseConsumer
- responseConsumer that will receive the responseresubmit
- indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request.- Throws:
MessagesException
- if envelope creation goes wrong
-
submit
@Deprecated void submit(oracle.communication.brm.charging.messages.framework.RequestEnvelope envelope) throws SystemHealthException Deprecated.Submit an Envelope for processing. The processing of the Envelope happens asynchronously.- Parameters:
envelope
- The Incoming Envelope- Throws:
SystemHealthException
-
submitManagementRequest
@Deprecated void submitManagementRequest(oracle.communication.brm.charging.messages.framework.SingleRequestEnvelope<ManagementRequest> envelope) Deprecated.Submit an Envelope for management flow processing. The processing of the Envelope happens asynchronously.- Parameters:
envelope
- The Incoming Envelope
-
submitPolicy
void submitPolicy(PolicyRequest request, SingleResponseConsumer<PolicyResponse> responseConsumer, boolean resubmit) throws UserNotFoundException, SystemHealthException Submit a PolicyRequest for processing. The processing of the PolicyRequest happens asynchronously.- Parameters:
request
- the request to sendresponseConsumer
- responseConsumer that will receive the responseresubmit
- indicate the request is a resubmitted request or not. If true, ECE server will apply duplicate check processing. Otherwise, ECE server will process the request as a new request- Throws:
SystemHealthException
- ECE system is not in a healthy state for processing the submitted requestUserNotFoundException
- if user could not be located at the time of envelope creation
-
shutdown
void shutdown()Method will gracefully shutdown the BatchRequestService. All awaiting requests will be processed before shutdown. -
getBRSMBean
BRSStatMXBean getBRSMBean()Returns the MBean exposing the statistical attributes of Batch Request Service. -
setIngressRequestTimeoutMs
void setIngressRequestTimeoutMs(int ingressRequestTimeoutMs) Set the value for the amount of time the BRS will wait for item in the queue. Items in the queue longer than this amount are targets for abort or eviction.- Parameters:
ingressRequestTimeoutMs
- the amount of time that must pass before an item is considered timed out
-
getIngressRequestTimeoutMs
int getIngressRequestTimeoutMs()Get the value for the amount of time the BRS will wait for item in the queue. Items in the queue longer than this amount are targets for abort or eviction.- Returns:
- The amount of time that must pass before an item is considered timed out
-