Overview | Package | Class | Tree | Deprecated | Index | Help
| Oracle TopLink API Reference 10g Release 3 (10.1.3) B13698-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## oracle.toplink.sessionbroker
Class SessionBroker

`java.lang.Object
DatabaseSessionImpl
oracle.toplink.sessionbroker.SessionBroker`

public class SessionBroker
extends DatabaseSessionImpl

Purpose: Provide a single view to a TopLink session that transparently accesses multple databases.

Responsibilities:

- Broker queries to the appropriate child sessions.
- Use a simplified two-stage commit policy on commit of transaction.
- Support brokered units of work.

See Also:
  Serialized Form

Constructor Summary
`SessionBroker()` PUBLIC: Create and return a session broker.

Method Summary
`SessionBroker` | `acquireClientSessionBroker()` PUBLIC: Return a session broker that behaves as a client session broker.
`UnitOfWork` | `acquireUnitOfWork()` PUBLIC: Return a unit of work for this session broker.
`void` | `addDescriptor(Descriptor descriptor)` PUBLIC: You cannot add a descriptor to a session broker, you must add it to its session.
`void` | `addDescriptors(Project project)` PUBLIC: You cannot add a project to a session broker, you must add it to its session.
`void` | `addDescriptors(java.util.Vector descriptors)` PUBLIC: You cannot add descriptors to a session broker, you must add them to its session.
`boolean` | `containsQuery(java.lang.String queryName)` PUBLIC: Return true if the pre-defined query is defined on the session.
`AsOfClause` | `getAsOfClause()` ADVANCED: Answers the past time this session is as of.
`DatabaseQuery` | `getQuery(java.lang.String name)` PUBLIC: Return the query from the session pre-defined queries with the given name.
`DatabaseQuery` | `getQuery(java.lang.String name, java.util.Vector arguments)` PUBLIC: Return the query from the session pre-defined queries with the given name and argument types.
`Sequencing` | `getSequencing()` PUBLIC: Return the Sequencing object used by the session.
`void` | `initializeSequencing()` ADVANCED: Creates sequencing object for the session broker.
`boolean` | `isClientSessionBroker()` PUBLIC: Return if this session is a client session broker.
`boolean` | `isConnected()` PUBLIC: Return if all sessions are still connected to the database.
`boolean` | `isServerSessionBroker()` PUBLIC: Return if this session is a server session broker.
`void` | `login()` PUBLIC: Connect to the database using the predefined login.
`void` | `login(java.lang.String userName, java.lang.String password)` PUBLIC: Connect to the database using the predefined login.
`void` | `logout()` PUBLIC: Disconnect from all databases.
`void` | `registerSession(java.lang.String name, Session session)` PUBLIC: Register the session under its name.
`void` | `registerSession(java.lang.String name, Session session)` PUBLIC: Register the session under its name.
`void` | `release()` PUBLIC: Release the session.
`void` | `releaseClientSessionBroker()` Deprecated. Since OracleAS TopLink 10g (10.0.3). Use release().
`void` | `setIntegrityChecker(IntegrityChecker integrityChecker)` PUBLIC: set the integrityChecker.
`void` | `setLog(java.io.Writer log)` PUBLIC: Set the message log.
`void` | `setProfiler(SessionProfiler profiler)` PUBLIC: Set the profiler for the session.
`void` | `setSessionLog(SessionLog log)` PUBLIC: Set the session log.
`void` | `setShouldLogMessages(boolean shouldLog)` Deprecated.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SessionBroker

    public SessionBroker()

  PUBLIC: Create and return a session broker. Because a session broker has multiple sessions it does not used a login.

Method Detail

### acquireClientSessionBroker

    public SessionBroker acquireClientSessionBroker()

  PUBLIC: Return a session broker that behaves as a client session broker. An aquire session broker is done under the covers on each session inside the session broker, and a new broker is returned. NOTE: when finished with the client broker, it should be releases. See releaseClientSessionBroker.

### acquireUnitOfWork

    public UnitOfWork acquireUnitOfWork()

  PUBLIC: Return a unit of work for this session broker. Acquire a client session broker if is a server session broker.
  See Also:
    `UnitOfWork`

### addDescriptor

    public void addDescriptor(Descriptor descriptor)

  PUBLIC: You cannot add a descriptor to a session broker, you must add it to its session.

### addDescriptors

    public void addDescriptors(java.util.Vector descriptors)
                        throws ValidationException

  PUBLIC: You cannot add descriptors to a session broker, you must add them to its session.
  Throws:
    `ValidationException`

### addDescriptors

    public void addDescriptors(Project project)
                        throws ValidationException

  PUBLIC: You cannot add a project to a session broker, you must add it to its session.
  Throws:
    `ValidationException`

### containsQuery

    public boolean containsQuery(java.lang.String queryName)

  PUBLIC: Return true if the pre-defined query is defined on the session.

### getAsOfClause

    public AsOfClause getAsOfClause()

  ADVANCED: Answers the past time this session is as of. Only meaningfull for special historical sessions.
  Returns:
    An immutable object representation of the past time. `null` if no clause set, or this a regular session.
  See Also:
    `oracle.toplink.expressions.AsOfClause`, `#acquireSessionAsOf(java.lang.Number)`, `#acquireSessionAsOf(java.util.Date)`, `#hasAsOfClause`

### getQuery

    public DatabaseQuery getQuery(java.lang.String name)

  PUBLIC: Return the query from the session pre-defined queries with the given name. This allows for common queries to be pre-defined, reused and executed by name.

### getQuery

    public DatabaseQuery getQuery(java.lang.String name,
                                  java.util.Vector arguments)

  PUBLIC: Return the query from the session pre-defined queries with the given name and argument types. This allows for common queries to be pre-defined, reused and executed by name. This method should be used if the Session has multiple queries with the same name but different arguments.

### isClientSessionBroker

    public boolean isClientSessionBroker()

  PUBLIC: Return if this session is a client session broker.

### isConnected

    public boolean isConnected()

  PUBLIC: Return if all sessions are still connected to the database.

### isServerSessionBroker

    public boolean isServerSessionBroker()

  PUBLIC: Return if this session is a server session broker.

### login

    public void login()
               throws DatabaseException

  PUBLIC: Connect to the database using the predefined login. This connects all of the child sessions and expects that they are in a valid state to be connected.
  Throws:
    `DatabaseException`

### login

    public void login(java.lang.String userName,
                      java.lang.String password)
               throws DatabaseException

  PUBLIC: Connect to the database using the predefined login. This connects all of the child sessions and expects that they are in a valid state to be connected.
  Throws:
    `DatabaseException`

### logout

    public void logout()
                throws DatabaseException

  PUBLIC: Disconnect from all databases.
  Throws:
    `TopLinkException` - if a transaction is active, you must rollback any active transaction before logout.
    `DatabaseException` - the database will also raise an error if their is an active transaction, or a general error occurs.

### registerSession

    public void registerSession(java.lang.String name,
                                Session session)

  PUBLIC: Register the session under its name. All of the session's descriptors must have already been registered. The session should not be connected and descriptors should not be initialized.

### registerSession

    public void registerSession(java.lang.String name,
                                Session session)

  PUBLIC: Register the session under its name. All of the session's descriptors must have already been registered. The session should not be connected and descriptors should not be initialized.

### release

    public void release()

  PUBLIC: Release the session. This does nothing by default, but allows for other sessions such as the ClientSession to do something.

### releaseClientSessionBroker

    public void releaseClientSessionBroker()

  Deprecated. Since OracleAS TopLink 10g (10.0.3). Use release().
  PUBLIC: Called on a client Session Broker. Releases all the client sessions held in this broker. Should be used in conjunction with acquireClientSessionBroker()

### setIntegrityChecker

    public void setIntegrityChecker(IntegrityChecker integrityChecker)

  PUBLIC: set the integrityChecker. IntegrityChecker holds all the Descriptor Exceptions.

### setSessionLog

    public void setSessionLog(SessionLog log)

  PUBLIC: Set the session log.
  See Also:
    `#logMessages()`

### setLog

    public void setLog(java.io.Writer log)

  PUBLIC: Set the message log.
  See Also:
    `#logMessages()`

### setProfiler

    public void setProfiler(SessionProfiler profiler)

  PUBLIC: Set the profiler for the session. This allows for performance operations to be profiled.

### setShouldLogMessages

    public void setShouldLogMessages(boolean shouldLog)

  Deprecated.
  Obsolete: Replaced by setLogLevel(int level, String category)
  See Also:
    `#setLogLevel(int level, String category)`

### initializeSequencing

    public void initializeSequencing()

  ADVANCED: Creates sequencing object for the session broker. Typically there is no need for the user to call this method - it is called by login() and acquireClientSessionBroker.

### getSequencing

    public Sequencing getSequencing()

  PUBLIC: Return the Sequencing object used by the session.

Overview | Package | Class | Tree | Deprecated | Index | Help
| Copyright © 1998, 2006, Oracle. All Rights Reserved.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD