| Modifier and Type | Field and Description |
|---|---|
| public static final ReferenceMode | FORCE_WEAK
Same as weak reference except Objects that can not be changed tracked (Deferred Change Detection) will not be prevented from being garbage collected. |
| public static final ReferenceMode | HARD
References to Objects will be through hard references. |
| public static final ReferenceMode | WEAK
References to Objects that support active attribute change tracking (enabled through weaving or by the developer)will be held by weak references. |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public static ReferenceMode | |
| public static ReferenceMode[] |
| FORCE_WEAK | back to summary |
|---|---|
| public static final ReferenceMode FORCE_WEAK Same as weak reference except Objects that can not be changed tracked (Deferred Change Detection) will not be prevented from being garbage collected. This may result in a loss of changes if a changed object is removed before being flushed to the database. When a change is made to a change tracked object that object is moved to a hard reference and will not be available for GC until flushed. New and removed objects are also held by hard references until flush.. | |
| HARD | back to summary |
|---|---|
| public static final ReferenceMode HARD References to Objects will be through hard references. These objects will not be available for garbage collection until the referencing artifact (usually a Persistence Context or UnitOfWork) released or closed. | |
| WEAK | back to summary |
|---|---|
| public static final ReferenceMode WEAK References to Objects that support active attribute change tracking
(enabled through weaving or by the developer)will be held by weak
references. This means any of afore mentioned objects no longer referenced directly or
indirectly will be available for garbage collection. If the object is
gc'd before the EM/UnitOfWork flushes to the database then this object
and any others like it will not be checked for changes. When a change is
made to a change tracked object that object is moved to a hard reference
and will not be available for GC until flushed. New and removed objects
are also held by hard references. Non change tracked objects will always
be held by "hard" references and are not available for GC. This is the
default mode for EclipsLink. See:
| |
| ReferenceMode | back to summary |
|---|---|
| private ReferenceMode() | |
| valueOf | back to summary |
|---|---|
| public static ReferenceMode valueOf(String name) | |
| values | back to summary |
|---|---|
| public static ReferenceMode[] values() | |