public interface ThreadSafeAccess
To avoid "scribbling" where several threads change state within in a single method (typically in inconsistent ways, causing subtle and intermittent errors) we use the following access policy for message related objects:
In practice this means that objects are initially mutable, but become immutable once they are shared.
Modifier and Type | Interface and Description |
---|---|
static class |
ThreadSafeAccess.AccessControl
This helper class can be used by code implementing this interface to determine whether
the thread safety of a message should be enforced or not.
|
Modifier and Type | Field and Description |
---|---|
static boolean |
READ |
static boolean |
WRITE |
Modifier and Type | Method and Description |
---|---|
void |
assertAccess(boolean write)
This method may be called before data in the object are accessed.
|
ThreadSafeAccess |
newThreadCopy() |
void |
resetAccessControl()
This method should ONLY be used in the construction of composite ThreadSafeAccess instances.
|
static final boolean WRITE
static final boolean READ
void assertAccess(boolean write)
write
- True if the access will mutate values.void resetAccessControl()
ThreadSafeAccess newThreadCopy()
Copyright © 2003–2016 MuleSoft, Inc.. All rights reserved.