com.pcbsys.nirvana.client.nTransaction Class Reference

This class enables the client to perform transactional publishing, representing a nirvana transaction More...

Public Member Functions

void abort ()
 Aborts the transaction associated with the txid provided and this channel. More...
 
void commit ()
 Commits the transaction id associated to this channel on the server. More...
 
void commit (DateTime timeToPublish)
 Commits the transaction id associated to this channel on the server. More...
 
void commit (long delay)
 Commits the transaction id associated to this channel on the server. More...
 
nTransactionAttributes getAttributes ()
 Gets the transaction attributes object associated with this transaction More...
 
long getEndEID ()
 Gets the end event id of the range to be published by this transaction More...
 
long getStartEID ()
 Gets the start event id of the range to be published by this transaction More...
 
long getTXID ()
 Gets the end transaction id associated with this transaction More...
 
bool isAborted ()
 Checks if this transaction is aborted More...
 
bool isAborted (bool forceRemoteCheck)
 Method that checks if this transaction is aborted More...
 
bool isCommitted ()
 Checks if this transaction is committed More...
 
bool isCommitted (bool forceRemoteCheck)
 Method that checks if this transaction is committed More...
 
void publish (nConsumeEvent e)
 Adds the specified nConsumeEvent to this transaction. More...
 
void publish (List< nConsumeEvent > events)
 Adds the specified collection of nConsumeEvent objects to this transaction. More...
 
void push (nConsumeEvent evt)
 Pushes the specified nConsumeEvent to this transaction. More...
 

Detailed Description

This class enables the client to perform transactional publishing, representing a nirvana transaction

Member Function Documentation

void com.pcbsys.nirvana.client.nTransaction.abort ( )

Aborts the transaction associated with the txid provided and this channel.

Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nRequestTimedOutExceptionThe server did not respond within the timeout peroid
nChannelNotFoundExceptionThe channel, typically, has been deleted
nSecurityExceptionThe client does not have permissions to perform this operation
nUnexpectedResponseExceptionThe server responded with with an unknown response, see the message for more information
nTransactionNotStartedExceptionThe transaction has not been started
nTransactionNoSuchTXIDExceptionThere is no known TXID, typically the transaction has timed out
nTransactionAlreadyCommittedExceptionThe transaction has already been committed
nTransactionAlreadyAbortedExceptionThe transaction has already been aborted
nSessionPausedExceptionThe session is currently paused
void com.pcbsys.nirvana.client.nTransaction.commit ( )

Commits the transaction id associated to this channel on the server.

We then wait for the server to respond. The server responds with the EID's of the events that have been put on to this channel for the supplied transaction id. Once this process is complete we remove the supplied transaction id from the list of transactions found within the controlling nSession.

Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nRequestTimedOutExceptionThe server did not respond within the timeout peroid
nChannelNotFoundExceptionThe channel, typically, has been deleted
nSecurityExceptionThe client does not have permissions to perform this operation
nUnexpectedResponseExceptionThe server responded with with an unknown response, see the message for more information
nTransactionNotStartedExceptionThe transaction has not been started
nTransactionNoSuchTXIDExceptionThere is no known TXID, typically the transaction has timed out
nTransactionAlreadyCommittedExceptionThe transaction has already been committed
nTransactionAlreadyAbortedExceptionThe transaction has already been aborted
nSessionPausedExceptionThe session is currently paused
Exceptions
nPublishedPausedExceptionPublish is currently paused
void com.pcbsys.nirvana.client.nTransaction.commit ( DateTime  timeToPublish)

Commits the transaction id associated to this channel on the server.

This methos allows the transaction to be committed at a future date, rather than immediately.

We then wait for the server to respond. The server responds with the EID's of the events that have been put on to this channel for the supplied transaction id. Once this process is complete we remove the supplied transaction id from the list of transactions found within the controlling nSession.

Parameters
timeToPublishdate at which the transaction will be committed
Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nRequestTimedOutExceptionThe server did not respond within the timeout peroid
nChannelNotFoundExceptionThe channel, typically, has been deleted
nSecurityExceptionThe client does not have permissions to perform this operation
nUnexpectedResponseExceptionThe server responded with with an unknown response, see the message for more information
nTransactionNotStartedExceptionThe transaction has not been started
nTransactionNoSuchTXIDExceptionThere is no known TXID, typically the transaction has timed out
nTransactionAlreadyCommittedExceptionThe transaction has already been committed
nTransactionAlreadyAbortedExceptionThe transaction has already been aborted
nSessionPausedExceptionThe session is currently paused
Exceptions
nPublishedPausedExceptionPublish is currently paused
void com.pcbsys.nirvana.client.nTransaction.commit ( long  delay)

Commits the transaction id associated to this channel on the server.

This method allows the transaction to be delayed until t+delay before it is committed

We then wait for the server to respond. The server responds with the EID's of the events that have been put on to this channel for the supplied transaction id. Once this process is complete we remove the supplied transaction id from the list of transactions found within the controlling nSession.

Parameters
delay- the number of millseconds to delay the commit for at the server
Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nRequestTimedOutExceptionThe server did not respond within the timeout peroid
nChannelNotFoundExceptionThe channel, typically, has been deleted
nSecurityExceptionThe client does not have permissions to perform this operation
nUnexpectedResponseExceptionThe server responded with with an unknown response, see the message for more information
nTransactionNotStartedExceptionThe transaction has not been started
nTransactionNoSuchTXIDExceptionThere is no known TXID, typically the transaction has timed out
nTransactionAlreadyCommittedExceptionThe transaction has already been committed
nTransactionAlreadyAbortedExceptionThe transaction has already been aborted
nSessionPausedExceptionThe session is currently paused
Exceptions
nPublishedPausedExceptionPublish is currently paused
nTransactionAttributes com.pcbsys.nirvana.client.nTransaction.getAttributes ( )

Gets the transaction attributes object associated with this transaction

Returns
a nTransactionAttributes object with the attributes for this transaction
long com.pcbsys.nirvana.client.nTransaction.getEndEID ( )

Gets the end event id of the range to be published by this transaction

Returns
a long specifying the end event id of the range to be published by this transaction
Exceptions
nTransactionNotCommittedExceptionis thrown if the transaction is not yet commited
long com.pcbsys.nirvana.client.nTransaction.getStartEID ( )

Gets the start event id of the range to be published by this transaction

Returns
a long specifying the start event id of the range to be published by this transaction
Exceptions
nTransactionNotCommittedExceptionis thrown if the transaction is not yet commited
long com.pcbsys.nirvana.client.nTransaction.getTXID ( )

Gets the end transaction id associated with this transaction

Returns
a long specifying the transaction ID
bool com.pcbsys.nirvana.client.nTransaction.isAborted ( )

Checks if this transaction is aborted

Returns
a bool value specifying if this transaction has been aborted
Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nRequestTimedOutExceptionThe server did not respond within the timeout peroid
nSessionPausedExceptionThe session is currently paused
nTransactionIncompleteExceptionthe transaction is invalild or incomplete
bool com.pcbsys.nirvana.client.nTransaction.isAborted ( bool  forceRemoteCheck)

Method that checks if this transaction is aborted

Parameters
forceRemoteCheckif false, the transaction will check its local state first before checking with the realm server, if true, it will check with the realm server only
Returns
a bool value specifying if the transaction has been aborted
Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nRequestTimedOutExceptionThe server did not respond within the timeout peroid
nSessionPausedExceptionThe session is currently paused
nTransactionIncompleteExceptionthe transaction is invalild or incomplete
bool com.pcbsys.nirvana.client.nTransaction.isCommitted ( )

Checks if this transaction is committed

Returns
a bool value specifying if this transaction has been committed
Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nRequestTimedOutExceptionThe server did not respond within the timeout peroid
nSessionPausedExceptionThe session is currently paused
nTransactionIncompleteExceptionthe transaction is invalild or incomplete
nUnknownTransactionIdExceptionthe transaction id is not known on this server
bool com.pcbsys.nirvana.client.nTransaction.isCommitted ( bool  forceRemoteCheck)

Method that checks if this transaction is committed

Parameters
forceRemoteCheckif false, the transaction will check its local state first before checking with the realms server, if true, it will check with the realm server only
Returns
a bool value specifying if the transaction has been committed
Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nRequestTimedOutExceptionThe server did not respond within the timeout peroid
nSessionPausedExceptionThe session is currently paused
nTransactionIncompleteExceptionthe transaction is invalild or incomplete
nUnknownTransactionIdExceptionthe transaction id is not known on this server
void com.pcbsys.nirvana.client.nTransaction.publish ( nConsumeEvent  e)

Adds the specified nConsumeEvent to this transaction.

No events will be published until this transaction is commited

Parameters
ethe nConsumeEvent object to be added to this transaction
Exceptions
nSessionNotConnectedExceptionThe session is not currently conencted to the server when this call was made
nSecurityExceptionThe client does not have permissions to perform this operation
nTransactionAlreadyCommittedExceptionThe transaction has already been committed
nTransactionAlreadyAbortedExceptionThe transaction has already been aborted
nSessionPausedExceptionThe session is currently paused
nPublishedPausedExceptionPublish is currently paused
void com.pcbsys.nirvana.client.nTransaction.publish ( List< nConsumeEvent events)

Adds the specified collection of nConsumeEvent objects to this transaction.

No events will be published until this transaction is commited.

Parameters
eventsthe List collection of nConsumeEvent objects to be added to this transaction
Exceptions
nSessionNotConnectedExceptionThe session is not currently connected to the server when this call was made
nSecurityExceptionThe client does not have permissions to perform this operation
nTransactionAlreadyCommittedExceptionThe transaction has already been committed
nTransactionAlreadyAbortedExceptionThe transaction has already been aborted
nTransactionNoEventsExceptionThere are no nConsumeEvents in the list
nSessionPausedExceptionThe session is currently paused
nPublishedPausedExceptionPublish is currently paused
void com.pcbsys.nirvana.client.nTransaction.push ( nConsumeEvent  evt)

Pushes the specified nConsumeEvent to this transaction.

No events will be published until this transaction is commited

Parameters
evtthe nConsumeEvent object to be added to this transaction
Exceptions
nSessionNotConnectedExceptionis thrown if the session is not connected
nTransactionAlreadyCommittedExceptionis thrown if the transaction is already commited
nTransactionNoEventsExceptionis thrown if the transaction has no events pushed
nSecurityExceptionis thrown if the user has insufficient priviledges
nTransactionAlreadyAbortedExceptionis thrown if the transaction has been aborted.
nSessionPausedExceptionThe session is currently paused