Module eclipselink

Class RMIConnection

  • All Implemented Interfaces:
    Serializable

    public class RMIConnection
    extends org.eclipse.persistence.internal.sessions.remote.RemoteConnection
    This class exists on on the client side which talks to remote session controller through RMI connection.
    See Also:
    Serialized Form
    • Constructor Detail

      • RMIConnection

        public RMIConnection​(RMIRemoteSessionController controller)
        PUBLIC: The connection must be create from the server-side session controllers stub. The session in then created from the connection through createRemoteSession().
        See Also:
        createRemoteSession()
    • Method Detail

      • processCommand

        public void processCommand​(org.eclipse.persistence.internal.sessions.remote.RemoteCommand command)
        ADVANCED: This method will send the command to the remote session for processing
        Specified by:
        processCommand in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
        Parameters:
        command - Contains a command that will be executed on the remote session
        See Also:
        RemoteCommand
      • beginTransaction

        public void beginTransaction()
        INTERNAL: Begin a transaction on the database.
        Specified by:
        beginTransaction in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • beginEarlyTransaction

        public void beginEarlyTransaction()
        INTERNAL: Begin an early unit of work transaction.
        Specified by:
        beginEarlyTransaction in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • commitRootUnitOfWork

        public org.eclipse.persistence.internal.sessions.remote.RemoteUnitOfWork commitRootUnitOfWork​(org.eclipse.persistence.internal.sessions.remote.RemoteUnitOfWork theRemoteUnitOfWork)
        INTERNAL: Commit root unit of work from the client side to the server side.
        Specified by:
        commitRootUnitOfWork in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • commitTransaction

        public void commitTransaction()
        INTERNAL: Commit a transaction on the database.
        Specified by:
        commitTransaction in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • createRemoteSession

        public Session createRemoteSession()
        PUBLIC: Returns a remote session.
        Specified by:
        createRemoteSession in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • cursoredStreamClose

        public void cursoredStreamClose​(ObjID remoteCursoredStreamOid)
        Used for closing cursored streams across RMI.
        Specified by:
        cursoredStreamClose in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • cursoredStreamNextPage

        public Vector cursoredStreamNextPage​(org.eclipse.persistence.internal.sessions.remote.RemoteCursoredStream remoteCursoredStream,
                                             ReadQuery query,
                                             DistributedSession session,
                                             int pageSize)
        Retrieve next page size of objects from the remote cursored stream
        Specified by:
        cursoredStreamNextPage in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • cursoredStreamSize

        public int cursoredStreamSize​(ObjID remoteCursoredStreamID)
        Return the cursored stream size
        Specified by:
        cursoredStreamSize in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • cursorSelectObjects

        public org.eclipse.persistence.internal.sessions.remote.RemoteCursoredStream cursorSelectObjects​(CursoredStreamPolicy policy,
                                                                                                         DistributedSession session)
        INTERNAL: Returns remote cursor stream
        Specified by:
        cursorSelectObjects in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • cursorSelectObjects

        public org.eclipse.persistence.internal.sessions.remote.RemoteScrollableCursor cursorSelectObjects​(ScrollableCursorPolicy policy,
                                                                                                           DistributedSession session)
        INTERNAL: Returns remote cursor stream
        Specified by:
        cursorSelectObjects in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • getDefaultReadOnlyClasses

        public Vector getDefaultReadOnlyClasses()
        INTERNAL Return the read-only classes
        Specified by:
        getDefaultReadOnlyClasses in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • getDescriptor

        public ClassDescriptor getDescriptor​(Class<?> domainClass)
        INTERNAL: Return the table descriptor specified for the class.
        Specified by:
        getDescriptor in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • getDescriptorForAlias

        public ClassDescriptor getDescriptorForAlias​(String alias)
        INTERNAL: Return the table descriptor specified for the alias.
        Specified by:
        getDescriptorForAlias in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • getLogin

        public Login getLogin()
        INTERNAL: Return the table descriptor specified for the class.
        Specified by:
        getLogin in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • getRemoteSessionController

        public RMIRemoteSessionController getRemoteSessionController()
        INTERNAL: Return the remote session controller
      • getSequenceNumberNamed

        public Object getSequenceNumberNamed​(Object remoteFunctionCall)
        INTERNAL: Perform remote function call
        Specified by:
        getSequenceNumberNamed in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • initializeIdentityMapsOnServerSession

        public void initializeIdentityMapsOnServerSession()
        INTERNAL: Reset the cache on the server-side session.
        Specified by:
        initializeIdentityMapsOnServerSession in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • instantiateRemoteValueHolderOnServer

        public org.eclipse.persistence.internal.sessions.remote.Transporter instantiateRemoteValueHolderOnServer​(org.eclipse.persistence.internal.sessions.remote.RemoteValueHolder remoteValueHolder)
        INTERNAL: Instantiate remote value holder on the server
        Specified by:
        instantiateRemoteValueHolderOnServer in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • remoteExecute

        public org.eclipse.persistence.internal.sessions.remote.Transporter remoteExecute​(DatabaseQuery query)
        INTERNAL: Execute the query on the server.
        Specified by:
        remoteExecute in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • remoteExecuteNamedQuery

        public org.eclipse.persistence.internal.sessions.remote.Transporter remoteExecuteNamedQuery​(String name,
                                                                                                    Class<?> javaClass,
                                                                                                    Vector arguments)
        INTERNAL: Execute query remotely.
        Specified by:
        remoteExecuteNamedQuery in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • rollbackTransaction

        public void rollbackTransaction()
        INTERNAL: Rollback a transaction on the database.
        Specified by:
        rollbackTransaction in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorAbsolute

        public boolean scrollableCursorAbsolute​(ObjID remoteScrollableCursorOid,
                                                int rows)
        Moves the cursor to the given row number in the result set
        Specified by:
        scrollableCursorAbsolute in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorAfterLast

        public void scrollableCursorAfterLast​(ObjID remoteScrollableCursorOid)
        Moves the cursor to the end of the result set, just after the last row.
        Specified by:
        scrollableCursorAfterLast in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorBeforeFirst

        public void scrollableCursorBeforeFirst​(ObjID remoteScrollableCursorOid)
        Moves the cursor to the front of the result set, just before the first row
        Specified by:
        scrollableCursorBeforeFirst in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorClose

        public void scrollableCursorClose​(ObjID remoteScrollableCursorOid)
        Used for closing scrollable cursor across RMI.
        Specified by:
        scrollableCursorClose in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorCurrentIndex

        public int scrollableCursorCurrentIndex​(ObjID remoteScrollableCursorOid)
        Retrieves the current row index number
        Specified by:
        scrollableCursorCurrentIndex in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorFirst

        public boolean scrollableCursorFirst​(ObjID remoteScrollableCursorOid)
        Moves the cursor to the first row in the result set
        Specified by:
        scrollableCursorFirst in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorIsAfterLast

        public boolean scrollableCursorIsAfterLast​(ObjID remoteScrollableCursorOid)
        Indicates whether the cursor is after the last row in the result set.
        Specified by:
        scrollableCursorIsAfterLast in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorIsBeforeFirst

        public boolean scrollableCursorIsBeforeFirst​(ObjID remoteScrollableCursorOid)
        Indicates whether the cursor is before the first row in the result set.
        Specified by:
        scrollableCursorIsBeforeFirst in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorIsFirst

        public boolean scrollableCursorIsFirst​(ObjID remoteScrollableCursorOid)
        Indicates whether the cursor is on the first row of the result set.
        Specified by:
        scrollableCursorIsFirst in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorIsLast

        public boolean scrollableCursorIsLast​(ObjID remoteScrollableCursorOid)
        Indicates whether the cursor is on the last row of the result set.
        Specified by:
        scrollableCursorIsLast in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorLast

        public boolean scrollableCursorLast​(ObjID remoteScrollableCursorOid)
        Moves the cursor to the last row in the result set
        Specified by:
        scrollableCursorLast in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorNextObject

        public Object scrollableCursorNextObject​(ObjID remoteScrollableCursorOid,
                                                 ReadQuery query,
                                                 DistributedSession session)
        Retrieve next object from the remote scrollable cursor
        Specified by:
        scrollableCursorNextObject in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorPreviousObject

        public Object scrollableCursorPreviousObject​(ObjID remoteScrollableCursorOid,
                                                     ReadQuery query,
                                                     DistributedSession session)
        Retrieve previous object from the remote scrollable cursor
        Specified by:
        scrollableCursorPreviousObject in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorRelative

        public boolean scrollableCursorRelative​(ObjID remoteScrollableCursorOid,
                                                int rows)
        Moves the cursor to the given row number in the result set
        Specified by:
        scrollableCursorRelative in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • scrollableCursorSize

        public int scrollableCursorSize​(ObjID cursorId)
        Return the scrollable cursor size
        Specified by:
        scrollableCursorSize in class org.eclipse.persistence.internal.sessions.remote.RemoteConnection
      • setRemoteSessionController

        public void setRemoteSessionController​(RMIRemoteSessionController remoteSessionController)
        INTERNAL: Set remote session controller