Esempio n. 1
0
  /**
   * Informs all registered StaticResource objects that a thread association has ended.
   *
   * <p>The Control object representing the transaction is given.
   *
   * <p>A flag is passed indicating whether this association is as a result of the transaction
   * completing.
   *
   * @param control The transaction whose association has ended.
   * @param complete Indicates that this is a commit/rollback rather than a suspend.
   * @return
   * @see
   */
  void distributeEnd(ControlImpl control, boolean complete) {

    // Determine the Coordinator for the transaction.

    org.omg.CosTransactions.Coordinator coord = null;

    try {
      coord = control.get_coordinator();
    } catch (Unavailable exc) {
    }

    // Browse through the set, telling each that the association is ending.

    if (coord != null) {
      for (int i = 0; i < registered.size(); i++) {
        StaticResource resource = (StaticResource) registered.elementAt(i);
        try {
          resource.endAssociation(coord, complete);
        } catch (Throwable e) {
          // Discard any exception.
        }
      }
    }
  }