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 AutoCloseable
close
in interface Closeable
Copyright © 2010–2017 The Apache Software Foundation. All rights reserved.