Package org.jboss.as.controller.remote
Interface TransactionalProtocolClient
-
public interface TransactionalProtocolClient
A transactional protocol client to execute management operations betweenModelController
s running on different processes. This client is used by the Domain Controller to send management operations to a Host Controller and by a Host Controller to send management operations to a Managed Server. An implementation of this client uses the communication protocol to keep and coordinate the operation's transaniolabitility between both sides of the model controllers.- Author:
- Emanuel Muckenhuber
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
TransactionalProtocolClient.Operation
An operation wrapper.static interface
TransactionalProtocolClient.PreparedOperation<T extends TransactionalProtocolClient.Operation>
The prepared result.static interface
TransactionalProtocolClient.TransactionalOperationListener<T extends TransactionalProtocolClient.Operation>
The transactional operation listener.
-
Field Summary
Fields Modifier and Type Field Description static org.jboss.remoting3.Attachments.Key<Boolean>
SEND_IDENTITY
Attachment whether the client should send the identity as part of the operation request.static org.jboss.remoting3.Attachments.Key<Boolean>
SEND_IN_VM
Attachment whether the client should send a flag that allows IN-VM operation requests.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description org.jboss.threads.AsyncFuture<OperationResponse>
execute(TransactionalProtocolClient.TransactionalOperationListener<TransactionalProtocolClient.Operation> listener, org.jboss.dmr.ModelNode operation, OperationMessageHandler messageHandler, OperationAttachments attachments)
Execute an operation.<T extends TransactionalProtocolClient.Operation>
org.jboss.threads.AsyncFuture<OperationResponse>execute(TransactionalProtocolClient.TransactionalOperationListener<T> listener, T operation)
Execute an operation.
-
-
-
Field Detail
-
SEND_IDENTITY
static final org.jboss.remoting3.Attachments.Key<Boolean> SEND_IDENTITY
Attachment whether the client should send the identity as part of the operation request. DC > HC : HostControllerRegistrationHandler > RemoteDomainConnection HC > server: HostControllerConnection > ManagedServer
-
SEND_IN_VM
static final org.jboss.remoting3.Attachments.Key<Boolean> SEND_IN_VM
Attachment whether the client should send a flag that allows IN-VM operation requests.HC > server: HostControllerConnection > ManagedServer
-
-
Method Detail
-
execute
org.jboss.threads.AsyncFuture<OperationResponse> execute(TransactionalProtocolClient.TransactionalOperationListener<TransactionalProtocolClient.Operation> listener, org.jboss.dmr.ModelNode operation, OperationMessageHandler messageHandler, OperationAttachments attachments) throws IOException
Execute an operation. This returns a future for the final result, which will only available after the prepared operation is committed.- Parameters:
listener
- the operation listeneroperation
- the operationmessageHandler
- the operation message handlerattachments
- the operation attachments- Returns:
- the future result
- Throws:
IOException
-
execute
<T extends TransactionalProtocolClient.Operation> org.jboss.threads.AsyncFuture<OperationResponse> execute(TransactionalProtocolClient.TransactionalOperationListener<T> listener, T operation) throws IOException
Execute an operation. This returns a future for the final result, which will only available after the prepared operation is committed.- Type Parameters:
T
- the operation type- Parameters:
listener
- the operation listeneroperation
- the operation- Returns:
- the future result
- Throws:
IOException
-
-