Package com.yahoo.documentapi.messagebus
Class MessageBusSyncSession
- java.lang.Object
-
- com.yahoo.documentapi.messagebus.MessageBusSyncSession
-
- All Implemented Interfaces:
MessageBusSession
,Session
,SyncSession
,com.yahoo.messagebus.ReplyHandler
public class MessageBusSyncSession extends java.lang.Object implements MessageBusSession, SyncSession, com.yahoo.messagebus.ReplyHandler
An implementation of the SyncSession interface running over message bus.- Author:
- Simon Thoresen Hult, bjorncs
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroy()
Destroys this session and frees up any resources it has held.com.yahoo.document.Document
get(com.yahoo.document.DocumentId id)
Gets a document.com.yahoo.document.Document
get(com.yahoo.document.DocumentId id, java.lang.String fieldSet, DocumentProtocol.Priority pri)
Gets a document with an unspecified timeoutcom.yahoo.document.Document
get(com.yahoo.document.DocumentId id, java.lang.String fieldSet, DocumentProtocol.Priority pri, java.time.Duration timeout)
Gets a document with timeout.com.yahoo.document.Document
get(com.yahoo.document.DocumentId id, java.time.Duration timeout)
Gets a document with timeout.Response
getNext()
Returns the next response of this session.Response
getNext(int timeout)
Returns the next response of this session.java.lang.String
getRoute()
Returns the route to send all messages to when sending through this session.int
getTraceLevel()
Returns the trace level used when sending messages through this session.void
handleReply(com.yahoo.messagebus.Reply reply)
void
put(com.yahoo.document.DocumentPut documentPut)
Puts a document.void
put(com.yahoo.document.DocumentPut documentPut, DocumentProtocol.Priority priority)
Puts a document.boolean
remove(com.yahoo.document.DocumentRemove documentRemove)
Removes a document if it is present and condition is fulfilled.boolean
remove(com.yahoo.document.DocumentRemove documentRemove, DocumentProtocol.Priority pri)
Removes a document if it is present.void
setRoute(java.lang.String route)
Sets the route to send all messages to when sending through this session.void
setTraceLevel(int traceLevel)
Sets the trace level used when sending messages through this session.com.yahoo.messagebus.Reply
syncSend(com.yahoo.messagebus.Message msg)
Perform a synchronous sending of a message.boolean
update(com.yahoo.document.DocumentUpdate update)
Updates a document.boolean
update(com.yahoo.document.DocumentUpdate update, DocumentProtocol.Priority pri)
Updates a document.
-
-
-
Method Detail
-
handleReply
public void handleReply(com.yahoo.messagebus.Reply reply)
- Specified by:
handleReply
in interfacecom.yahoo.messagebus.ReplyHandler
-
getNext
public Response getNext()
Description copied from interface:Session
Returns the next response of this session. This method returns immediately.
-
getNext
public Response getNext(int timeout)
Description copied from interface:Session
Returns the next response of this session. This will block until a response is ready or until the given timeout is reached
-
destroy
public void destroy()
Description copied from interface:Session
Destroys this session and frees up any resources it has held. Making further calls on a destroyed session causes a runtime exception.
-
syncSend
public com.yahoo.messagebus.Reply syncSend(com.yahoo.messagebus.Message msg)
Perform a synchronous sending of a message. This method block until the message is successfuly sent and a corresponding reply has been received.- Parameters:
msg
- The message to send.- Returns:
- The reply received.
-
put
public void put(com.yahoo.document.DocumentPut documentPut)
Description copied from interface:SyncSession
Puts a document. When this method returns, the document is safely received. This enables setting condition compared to using Document.- Specified by:
put
in interfaceSyncSession
- Parameters:
documentPut
- The DocumentPut operation
-
put
public void put(com.yahoo.document.DocumentPut documentPut, DocumentProtocol.Priority priority)
Description copied from interface:SyncSession
Puts a document. When this method returns, the document is safely received.- Specified by:
put
in interfaceSyncSession
- Parameters:
documentPut
- The DocumentPut operationpriority
- The priority with which to perform this operation.
-
get
public com.yahoo.document.Document get(com.yahoo.document.DocumentId id)
Description copied from interface:SyncSession
Gets a document.- Specified by:
get
in interfaceSyncSession
- Parameters:
id
- The id of the document to get.- Returns:
- The known document having this id, or null if there is no document having this id.
-
get
public com.yahoo.document.Document get(com.yahoo.document.DocumentId id, java.lang.String fieldSet, DocumentProtocol.Priority pri)
Description copied from interface:SyncSession
Gets a document with an unspecified timeout- Specified by:
get
in interfaceSyncSession
- Parameters:
id
- the id of the document to getfieldSet
- a comma-separated list of fields to retrievepri
- the priority with which to perform this operation- Returns:
- the document with this id, or null if there is none
-
get
public com.yahoo.document.Document get(com.yahoo.document.DocumentId id, java.time.Duration timeout)
Description copied from interface:SyncSession
Gets a document with timeout.- Specified by:
get
in interfaceSyncSession
- Parameters:
id
- The id of the document to gettimeout
- Timeout. If timeout is null, an unspecified default will be used- Returns:
- the document with this id, or null if there is none
-
get
public com.yahoo.document.Document get(com.yahoo.document.DocumentId id, java.lang.String fieldSet, DocumentProtocol.Priority pri, java.time.Duration timeout)
Description copied from interface:SyncSession
Gets a document with timeout.- Specified by:
get
in interfaceSyncSession
- Parameters:
id
- The id of the document to get.fieldSet
- A comma-separated list of fields to retrievepri
- The priority with which to perform this operation.timeout
- Timeout. If timeout is null, an unspecified default will be used.- Returns:
- The known document having this id, or null if there is no document having this id.
-
remove
public boolean remove(com.yahoo.document.DocumentRemove documentRemove)
Description copied from interface:SyncSession
Removes a document if it is present and condition is fulfilled.
- Specified by:
remove
in interfaceSyncSession
- Parameters:
documentRemove
- document to delete- Returns:
- true if the document with this id was removed, false otherwise.
-
remove
public boolean remove(com.yahoo.document.DocumentRemove documentRemove, DocumentProtocol.Priority pri)
Description copied from interface:SyncSession
Removes a document if it is present.- Specified by:
remove
in interfaceSyncSession
- Parameters:
documentRemove
- Document remove operationpri
- The priority with which to perform this operation.- Returns:
- true If the document with this id was removed, false otherwise.
-
update
public boolean update(com.yahoo.document.DocumentUpdate update)
Description copied from interface:SyncSession
Updates a document.- Specified by:
update
in interfaceSyncSession
- Parameters:
update
- The updates to perform.- Returns:
- True, if the document was found and updated.
-
update
public boolean update(com.yahoo.document.DocumentUpdate update, DocumentProtocol.Priority pri)
Description copied from interface:SyncSession
Updates a document.- Specified by:
update
in interfaceSyncSession
- Parameters:
update
- The updates to perform.pri
- The priority with which to perform this operation.- Returns:
- True, if the document was found and updated.
-
getRoute
public java.lang.String getRoute()
Description copied from interface:MessageBusSession
Returns the route to send all messages to when sending through this session.- Specified by:
getRoute
in interfaceMessageBusSession
- Returns:
- The route string.
-
setRoute
public void setRoute(java.lang.String route)
Description copied from interface:MessageBusSession
Sets the route to send all messages to when sending through this session.- Specified by:
setRoute
in interfaceMessageBusSession
- Parameters:
route
- The route string.
-
getTraceLevel
public int getTraceLevel()
Description copied from interface:MessageBusSession
Returns the trace level used when sending messages through this session.- Specified by:
getTraceLevel
in interfaceMessageBusSession
- Returns:
- The trace level.
-
setTraceLevel
public void setTraceLevel(int traceLevel)
Description copied from interface:MessageBusSession
Sets the trace level used when sending messages through this session.- Specified by:
setTraceLevel
in interfaceMessageBusSession
- Parameters:
traceLevel
- The trace level to set.
-
-