public interface SyncContext extends Closeable
SyncContext syncContext = repositorySystem.newSyncContext( ... );
try {
syncContext.acquire( artifacts, metadatas );
// work with the artifacts and metadatas
} finally {
syncContext.close();
}
Within one thread, synchronization contexts may be nested which can naturally happen in a hierarchy of method calls.
The nested synchronization contexts may also acquire overlapping sets of artifacts/metadatas as long as the following
conditions are met. If the outer-most context holding a particular resource is exclusive, that resource can be
reacquired in any nested context. If however the outer-most context is shared, the resource may only be reacquired by
nested contexts if these are also shared.
A synchronization context is meant to be utilized by only one thread and as such is not thread-safe.
Note that the level of actual synchronization is subject to the implementation and might range from OS-wide to none.
| Modifier and Type | Method and Description |
|---|---|
void |
acquire(Collection<? extends Artifact> artifacts,
Collection<? extends Metadata> metadatas)
Acquires synchronized access to the specified artifacts and metadatas.
|
void |
close()
Releases all previously acquired artifacts/metadatas.
|
void acquire(Collection<? extends Artifact> artifacts, Collection<? extends Metadata> metadatas)
artifacts - The artifacts to acquire, may be null or empty if none.metadatas - The metadatas to acquire, may be null or empty if none.void close()
close in interface AutoCloseableclose in interface CloseableCopyright © 2010-2015 The Eclipse Foundation. All Rights Reserved.