Module org.eclipse.persistence.core
Class RMIRemoteSessionControllerDispatcher
java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
org.eclipse.persistence.sessions.remote.rmi.RMIRemoteSessionControllerDispatcher
- All Implemented Interfaces:
Serializable
,Remote
,RMIRemoteSessionController
public class RMIRemoteSessionControllerDispatcher
extends UnicastRemoteObject
implements RMIRemoteSessionController
RemoteSessionController sits between the remote session and the session. Any interaction between these
two classes takes place through this object. As the object extends unicast remote object it listens to
only single remote session during runtime.
- See Also:
-
Field Summary
Fields inherited from class java.rmi.server.RemoteObject
ref
-
Constructor Summary
ConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionBegin an early unit of work transaction.Begin a transaction on the database.commitRootUnitOfWork
(Transporter remoteUnitOfWork) Remote unit of work after serialization is committed locally.Commit a transaction on the database.cursoredStreamClose
(Transporter remoteCursoredStreamID) Used for closing cursored streams across RMI.cursoredStreamNextPage
(Transporter remoteCursoredStream, int pageSize) Retrieve next page size of objects from the remote cursored streamcursoredStreamSize
(Transporter remoteCursoredStreamOid) Return the cursored stream sizecursorSelectObjects
(Transporter remoteTransporter) Returns a remote cursor stub in a transporterexecuteNamedQuery
(Transporter nameTransporter, Transporter classTransporter, Transporter argumentsTransporter) A remote query after serialization is executed locally.executeQuery
(Transporter query) A remote query after serialization is executed locally.protected RemoteSessionController
Return the controller.Get the default read-only classesgetDescriptor
(Transporter theClass) Extract descriptor from the sessiongetDescriptorForAlias
(Transporter alias) Extract descriptor from the sessiongetLogin()
Get the associated session login.getSequenceNumberNamed
(Transporter remoteFunctionCall) INTERNAL: Get the value returned by remote function callinstantiateRemoteValueHolderOnServer
(Transporter remoteValueHolder) The corresponding original value holder is instantiated.processCommand
(Transporter remoteTransporter) INTERNAL: This method is intended to be used by by sessions that wish to execute a command on a remote sessionRollback a transaction on the database.scrollableCursorAbsolute
(Transporter remoteScrollableCursorOid, int rows) Moves the cursor to the given row number in the result setscrollableCursorAfterLast
(Transporter remoteScrollableCursorOid) Moves the cursor to the end of the result set, just after the last row.scrollableCursorBeforeFirst
(Transporter remoteScrollableCursor) Moves the cursor to the front of the result set, just before the first rowscrollableCursorClose
(Transporter remoteScrollableCursorOid) Used for closing scrollable cursor across RMI.scrollableCursorCurrentIndex
(Transporter remoteScrollableCursor) Retrieves the current row index numberscrollableCursorFirst
(Transporter remoteScrollableCursor) Moves the cursor to the first row in the result setscrollableCursorIsAfterLast
(Transporter remoteScrollableCursor) Indicates whether the cursor is after the last row in the result set.scrollableCursorIsBeforeFirst
(Transporter remoteScrollableCursor) Indicates whether the cursor is before the first row in the result set.scrollableCursorIsFirst
(Transporter remoteScrollableCursor) Indicates whether the cursor is on the first row of the result set.scrollableCursorIsLast
(Transporter remoteScrollableCursor) Indicates whether the cursor is on the last row of the result set.scrollableCursorLast
(Transporter remoteScrollableCursor) Moves the cursor to the last row in the result setscrollableCursorNextObject
(Transporter scrollableCursorOid) Retrieve next object from the scrollable cursorscrollableCursorPreviousObject
(Transporter scrollableCursorOid) Retrieve previous object from the scrollable cursorscrollableCursorRelative
(Transporter remoteScrollableCursor, int rows) Moves the cursor to the given row number in the result setscrollableCursorSize
(Transporter remoteCursorOid) Return the cursor sizeprotected void
setController
(RemoteSessionController controller) Set the controller.Methods inherited from class java.rmi.server.UnicastRemoteObject
clone, exportObject, exportObject, exportObject, exportObject, exportObject, unexportObject
Methods inherited from class java.rmi.server.RemoteServer
getClientHost, getLog, setLog
-
Field Details
-
controller
Store the real controller.
-
-
Constructor Details
-
RMIRemoteSessionControllerDispatcher
- Throws:
RemoteException
-
RMIRemoteSessionControllerDispatcher
- Throws:
RemoteException
-
-
Method Details
-
processCommand
INTERNAL: This method is intended to be used by by sessions that wish to execute a command on a remote session- Specified by:
processCommand
in interfaceRMIRemoteSessionController
- Parameters:
remoteTransporter
- The Transporter carrying the command to be executed on the remote session
-
beginTransaction
Begin a transaction on the database.- Specified by:
beginTransaction
in interfaceRMIRemoteSessionController
-
beginEarlyTransaction
Begin an early unit of work transaction.- Specified by:
beginEarlyTransaction
in interfaceRMIRemoteSessionController
-
commitRootUnitOfWork
Remote unit of work after serialization is committed locally.- Specified by:
commitRootUnitOfWork
in interfaceRMIRemoteSessionController
-
commitTransaction
Commit a transaction on the database.- Specified by:
commitTransaction
in interfaceRMIRemoteSessionController
-
cursoredStreamClose
Used for closing cursored streams across RMI.- Specified by:
cursoredStreamClose
in interfaceRMIRemoteSessionController
-
cursoredStreamNextPage
Retrieve next page size of objects from the remote cursored stream- Specified by:
cursoredStreamNextPage
in interfaceRMIRemoteSessionController
-
cursoredStreamSize
Return the cursored stream size- Specified by:
cursoredStreamSize
in interfaceRMIRemoteSessionController
-
cursorSelectObjects
Returns a remote cursor stub in a transporter- Specified by:
cursorSelectObjects
in interfaceRMIRemoteSessionController
-
executeNamedQuery
public Transporter executeNamedQuery(Transporter nameTransporter, Transporter classTransporter, Transporter argumentsTransporter) A remote query after serialization is executed locally.- Specified by:
executeNamedQuery
in interfaceRMIRemoteSessionController
-
executeQuery
A remote query after serialization is executed locally.- Specified by:
executeQuery
in interfaceRMIRemoteSessionController
-
getController
Return the controller. All work is dispatched to the controller. This is required to be protocol independent. -
getDefaultReadOnlyClasses
Get the default read-only classes- Specified by:
getDefaultReadOnlyClasses
in interfaceRMIRemoteSessionController
-
getDescriptor
Extract descriptor from the session- Specified by:
getDescriptor
in interfaceRMIRemoteSessionController
-
getDescriptorForAlias
Extract descriptor from the session- Specified by:
getDescriptorForAlias
in interfaceRMIRemoteSessionController
-
getLogin
Get the associated session login.- Specified by:
getLogin
in interfaceRMIRemoteSessionController
-
getSequenceNumberNamed
INTERNAL: Get the value returned by remote function call- Specified by:
getSequenceNumberNamed
in interfaceRMIRemoteSessionController
-
initializeIdentityMapsOnServerSession
- Specified by:
initializeIdentityMapsOnServerSession
in interfaceRMIRemoteSessionController
-
instantiateRemoteValueHolderOnServer
The corresponding original value holder is instantiated.- Specified by:
instantiateRemoteValueHolderOnServer
in interfaceRMIRemoteSessionController
-
rollbackTransaction
Rollback a transaction on the database.- Specified by:
rollbackTransaction
in interfaceRMIRemoteSessionController
-
scrollableCursorAbsolute
Moves the cursor to the given row number in the result set- Specified by:
scrollableCursorAbsolute
in interfaceRMIRemoteSessionController
-
scrollableCursorAfterLast
Moves the cursor to the end of the result set, just after the last row.- Specified by:
scrollableCursorAfterLast
in interfaceRMIRemoteSessionController
-
scrollableCursorBeforeFirst
Moves the cursor to the front of the result set, just before the first row- Specified by:
scrollableCursorBeforeFirst
in interfaceRMIRemoteSessionController
-
scrollableCursorClose
Used for closing scrollable cursor across RMI.- Specified by:
scrollableCursorClose
in interfaceRMIRemoteSessionController
-
scrollableCursorCurrentIndex
Retrieves the current row index number- Specified by:
scrollableCursorCurrentIndex
in interfaceRMIRemoteSessionController
-
scrollableCursorFirst
Moves the cursor to the first row in the result set- Specified by:
scrollableCursorFirst
in interfaceRMIRemoteSessionController
-
scrollableCursorIsAfterLast
Indicates whether the cursor is after the last row in the result set.- Specified by:
scrollableCursorIsAfterLast
in interfaceRMIRemoteSessionController
-
scrollableCursorIsBeforeFirst
Indicates whether the cursor is before the first row in the result set.- Specified by:
scrollableCursorIsBeforeFirst
in interfaceRMIRemoteSessionController
-
scrollableCursorIsFirst
Indicates whether the cursor is on the first row of the result set.- Specified by:
scrollableCursorIsFirst
in interfaceRMIRemoteSessionController
-
scrollableCursorIsLast
Indicates whether the cursor is on the last row of the result set.- Specified by:
scrollableCursorIsLast
in interfaceRMIRemoteSessionController
-
scrollableCursorLast
Moves the cursor to the last row in the result set- Specified by:
scrollableCursorLast
in interfaceRMIRemoteSessionController
-
scrollableCursorNextObject
Retrieve next object from the scrollable cursor- Specified by:
scrollableCursorNextObject
in interfaceRMIRemoteSessionController
-
scrollableCursorPreviousObject
Retrieve previous object from the scrollable cursor- Specified by:
scrollableCursorPreviousObject
in interfaceRMIRemoteSessionController
-
scrollableCursorRelative
Moves the cursor to the given row number in the result set- Specified by:
scrollableCursorRelative
in interfaceRMIRemoteSessionController
-
scrollableCursorSize
Return the cursor size- Specified by:
scrollableCursorSize
in interfaceRMIRemoteSessionController
-
setController
Set the controller. All work is dispatched to the controller. This is required to be protocol independent.
-