Package org.jboss.as.controller.remote
Class BlockingQueueOperationListener<T extends TransactionalProtocolClient.Operation>
- java.lang.Object
-
- org.jboss.as.controller.remote.BlockingQueueOperationListener<T>
-
- Type Parameters:
T
- the operation type
- All Implemented Interfaces:
TransactionalProtocolClient.TransactionalOperationListener<T>
public class BlockingQueueOperationListener<T extends TransactionalProtocolClient.Operation> extends Object implements TransactionalProtocolClient.TransactionalOperationListener<T>
Basic operation listener backed by a blocking queue. If the limit of the queue is reached prepared operations are going to be rolled back automatically.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
BlockingQueueOperationListener.FailedOperation<T extends TransactionalProtocolClient.Operation>
static class
BlockingQueueOperationListener.SucceededOperation<T extends TransactionalProtocolClient.Operation>
-
Constructor Summary
Constructors Constructor Description BlockingQueueOperationListener()
BlockingQueueOperationListener(int capacity)
BlockingQueueOperationListener(BlockingQueue<TransactionalProtocolClient.PreparedOperation<T>> queue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
drainTo(Collection<TransactionalProtocolClient.PreparedOperation<T>> collection)
void
operationComplete(T operation, OperationResponse result)
Notification that an operation completed.void
operationFailed(T operation, org.jboss.dmr.ModelNode result)
Notification that an operation failed.void
operationPrepared(TransactionalProtocolClient.PreparedOperation<T> prepared)
Notification that an operation was prepared.TransactionalProtocolClient.PreparedOperation<T>
retrievePreparedOperation()
Retrieves and removes the head of the underlying queue, waiting if necessary until an element becomes available.TransactionalProtocolClient.PreparedOperation<T>
retrievePreparedOperation(long timeout, TimeUnit timeUnit)
Retrieves and removes the head of this queue, waiting up to the specified wait time if necessary for an element to become available.
-
-
-
Constructor Detail
-
BlockingQueueOperationListener
public BlockingQueueOperationListener()
-
BlockingQueueOperationListener
public BlockingQueueOperationListener(int capacity)
-
BlockingQueueOperationListener
public BlockingQueueOperationListener(BlockingQueue<TransactionalProtocolClient.PreparedOperation<T>> queue)
-
-
Method Detail
-
operationPrepared
public void operationPrepared(TransactionalProtocolClient.PreparedOperation<T> prepared)
Description copied from interface:TransactionalProtocolClient.TransactionalOperationListener
Notification that an operation was prepared.- Specified by:
operationPrepared
in interfaceTransactionalProtocolClient.TransactionalOperationListener<T extends TransactionalProtocolClient.Operation>
- Parameters:
prepared
- the prepared operation
-
operationFailed
public void operationFailed(T operation, org.jboss.dmr.ModelNode result)
Description copied from interface:TransactionalProtocolClient.TransactionalOperationListener
Notification that an operation failed.- Specified by:
operationFailed
in interfaceTransactionalProtocolClient.TransactionalOperationListener<T extends TransactionalProtocolClient.Operation>
- Parameters:
operation
- the operationresult
- the operation result
-
operationComplete
public void operationComplete(T operation, OperationResponse result)
Description copied from interface:TransactionalProtocolClient.TransactionalOperationListener
Notification that an operation completed.- Specified by:
operationComplete
in interfaceTransactionalProtocolClient.TransactionalOperationListener<T extends TransactionalProtocolClient.Operation>
- Parameters:
operation
- the operationresult
- the final result
-
retrievePreparedOperation
public TransactionalProtocolClient.PreparedOperation<T> retrievePreparedOperation() throws InterruptedException
Retrieves and removes the head of the underlying queue, waiting if necessary until an element becomes available.- Returns:
- the prepared operation
- Throws:
InterruptedException
-
drainTo
protected void drainTo(Collection<TransactionalProtocolClient.PreparedOperation<T>> collection)
-
retrievePreparedOperation
public TransactionalProtocolClient.PreparedOperation<T> retrievePreparedOperation(long timeout, TimeUnit timeUnit) throws InterruptedException
Retrieves and removes the head of this queue, waiting up to the specified wait time if necessary for an element to become available.- Parameters:
timeout
- the timeouttimeUnit
- the time unit- Returns:
- the prepared operation
- Throws:
InterruptedException
-
-