Package com.mongodb
Class WriteConcern
java.lang.Object
com.mongodb.WriteConcern
- All Implemented Interfaces:
- Serializable
Controls the acknowledgment of write operations with various options.
w
- 0: Don't wait for acknowledgement from the server
- 1: Wait for acknowledgement, but don't wait for secondaries to replicate
- >=2: Wait for one or more secondaries to also acknowledge
- "majority": Wait for a majority of data bearing nodes to acknowledge
- "<tag set name>": Wait for one or more secondaries to also acknowledge based on a tag set name
wtimeout - how long to wait for secondaries to acknowledge before failing
- 0: indefinite
- >0: time to wait in milliseconds
Other options:
- journal: If true block until write operations have been committed to the journal. Cannot be used in combination with- fsync. Write operations will fail with an exception if this option is used when the server is running without journaling.
- See Also:
- MongoDB documentation
- Write Concern
- Write Concern Reference
- 
Field SummaryFieldsModifier and TypeFieldDescriptionstatic final WriteConcernWrite operations that use this write concern will wait for acknowledgement, using the default write concern configured on the server.static final WriteConcernWrite operations wait for the server to group commit to the journal file on disk.static final WriteConcernExceptions are raised for network issues, and server errors; waits on a majority of servers for the write operation.static final WriteConcernWrite operations that use this write concern will return as soon as the message is written to the socket.static final WriteConcernWrite operations that use this write concern will wait for acknowledgement from a single member.static final WriteConcernWrite operations that use this write concern will wait for acknowledgement from two members.static final WriteConcernWrite operations that use this write concern will wait for acknowledgement from three members.
- 
Constructor SummaryConstructorsConstructorDescriptionWriteConcern(int w) Construct an instance with the given integer-based value for w.WriteConcern(int w, int wTimeoutMS) Constructs an instance with the given integer-based value for w and the given value for wTimeoutMS.Construct an instance with the given tag set-based value for w.
- 
Method SummaryModifier and TypeMethodDescriptionGets this write concern as a document.booleanGets the journal property.intgetW()Gets the w value as an integer.Gets the w value.Gets the w parameter as a String.getWTimeout(TimeUnit timeUnit) Gets the wTimeout in the given time unit.inthashCode()booleanReturns true if this write concern indicates that write operations must be acknowledged.booleanGets whether this write concern indicates that the server's default write concern will be used.toString()static WriteConcernGets the WriteConcern constants by name (matching is done case insensitively).withJournal(Boolean journal) Constructs a new WriteConcern from the current one and the specified journal valuewithW(int w) Constructs a new WriteConcern from the current one and the specified integer-based value for wConstructs a new WriteConcern from the current one and the specified tag-set based value for wwithWTimeout(long wTimeout, TimeUnit timeUnit) Constructs a new WriteConcern from the current one and the specified wTimeout in the given time unit.
- 
Field Details- 
ACKNOWLEDGEDWrite operations that use this write concern will wait for acknowledgement, using the default write concern configured on the server.- Since:
- 2.10.0
- MongoDB documentation
- Acknowledged
 
- 
W1Write operations that use this write concern will wait for acknowledgement from a single member.- Since:
- 3.2
- MongoDB documentation
- w option
 
- 
W2Write operations that use this write concern will wait for acknowledgement from two members.- Since:
- 3.2
- MongoDB documentation
- w option
 
- 
W3Write operations that use this write concern will wait for acknowledgement from three members.- Since:
- 3.2
- MongoDB documentation
- w option
 
- 
UNACKNOWLEDGEDWrite operations that use this write concern will return as soon as the message is written to the socket. Exceptions are raised for network issues, but not server errors.- Since:
- 2.10.0
- MongoDB documentation
- Unacknowledged
 
- 
JOURNALEDWrite operations wait for the server to group commit to the journal file on disk.- MongoDB documentation
- Journaled
 
- 
MAJORITYExceptions are raised for network issues, and server errors; waits on a majority of servers for the write operation.
 
- 
- 
Constructor Details- 
WriteConcernpublic WriteConcern(int w) Construct an instance with the given integer-based value for w.- Parameters:
- w- number of servers to ensure write propagation to before acknowledgment, which must be- >= 0
- MongoDB documentation
- w option
 
- 
WriteConcernConstruct an instance with the given tag set-based value for w.
- 
WriteConcernpublic WriteConcern(int w, int wTimeoutMS) Constructs an instance with the given integer-based value for w and the given value for wTimeoutMS.- Parameters:
- w- the w value, which must be >= 0
- wTimeoutMS- the wTimeout in milliseconds, which must be >= 0
- MongoDB documentation
- w option
- wtimeout option
 
 
- 
- 
Method Details- 
getWObjectGets the w value.- Returns:
- w, either an instance of Integer or String or null
 
- 
getWpublic int getW()Gets the w value as an integer.- Returns:
- w as an int
- Throws:
- IllegalStateException- if w is null or not an integer
 
- 
getWStringGets the w parameter as a String.- Returns:
- w as a String
- Throws:
- IllegalStateException- if w is null or not a String
 
- 
getWTimeoutGets the wTimeout in the given time unit.- Parameters:
- timeUnit- the non-null time unit for the result
- Returns:
- the WTimeout, which may be null if a wTimeout has not been specified
- Since:
- 3.2
- See Also:
- MongoDB documentation
- wTimeout
 
- 
getJournalGets the journal property. The default value is null.- Returns:
- whether journal syncing is enabled, or null if unspecified.
- Since:
- 3.2
- MongoDB documentation
- Journaled
 
- 
isServerDefaultpublic boolean isServerDefault()Gets whether this write concern indicates that the server's default write concern will be used.- Returns:
- true if this write concern indicates that the server's default write concern will be used
- MongoDB documentation
- getLastErrorDefaults
 
- 
asDocumentGets this write concern as a document.- Returns:
- The write concern as a BsonDocument, even if w <= 0
 
- 
isAcknowledgedpublic boolean isAcknowledged()Returns true if this write concern indicates that write operations must be acknowledged.- Returns:
- true w != null or w > 0 or journal is true or fsync is true
- MongoDB documentation
- Acknowledged
 
- 
valueOfGets the WriteConcern constants by name (matching is done case insensitively).- Parameters:
- name- the name of the WriteConcern
- Returns:
- the WriteConcern instance
 
- 
equals
- 
hashCodepublic int hashCode()
- 
toString
- 
withWConstructs a new WriteConcern from the current one and the specified integer-based value for w- Parameters:
- w- number of servers to ensure write propagation to before acknowledgment, which must be- >= 0
- Returns:
- the new WriteConcern
- MongoDB documentation
- Replica Acknowledged
 
- 
withWConstructs a new WriteConcern from the current one and the specified tag-set based value for w- Parameters:
- w- tag set, or "majority", representing the servers to ensure write propagation to before acknowledgment. Do not use string representation of integer values for w
- Returns:
- the new WriteConcern
- See Also:
- MongoDB documentation
- Tag Sets
 
- 
withJournalConstructs a new WriteConcern from the current one and the specified journal value- Parameters:
- journal- true if journalling is required for acknowledgement, false if not, or null if unspecified
- Returns:
- the new WriteConcern
- Since:
- 3.2
- MongoDB documentation
- j option
 
- 
withWTimeoutConstructs a new WriteConcern from the current one and the specified wTimeout in the given time unit.- Parameters:
- wTimeout- the wTimeout, which must be >= 0 and <= Integer.MAX_VALUE after conversion to milliseconds
- timeUnit- the non-null time unit to apply to wTimeout
- Returns:
- the WriteConcern with the given wTimeout
- Since:
- 3.2
- See Also:
- MongoDB documentation
- wtimeout option
 
 
-