javax.resource.spi

## Interface BootstrapContext

-     public interface BootstrapContext

  This provides a mechanism to pass a bootstrap context to a resource adapter instance when it is bootstrapped. That is, when (`start(BootstrapContext)`) method on the `ResourceAdapter` class is invoked. The bootstrap context contains references to useful facilities that could be used by the resource adapter instance.
  Version:
    Java EE Connector Architecture 1.6
  Author:
    Ram Jeyaraman, Sivakumar Thyagarajan

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Timer` | `createTimer()` Creates a new `java.util.Timer` instance.
    `TransactionSynchronizationRegistry` | `getTransactionSynchronizationRegistry()` Provides a handle to a `TransactionSynchronization` instance.
    `WorkManager` | `getWorkManager()` Provides a handle to a `WorkManager` instance.
    `XATerminator` | `getXATerminator()` Provides a handle to a `XATerminator` instance.
    `boolean` | `isContextSupported(Class<? extends WorkContext> workContextClass)` A resource adapter can check an application server's support for a particular WorkContext type through this method.

- - ### Method Detail

    - #### getWorkManager

          WorkManager getWorkManager()

      Provides a handle to a `WorkManager` instance. The `WorkManager` instance could be used by a resource adapter to do its work by submitting `Work` instances for execution.
      Returns:
        a `WorkManager` instance.

    - #### getXATerminator

          XATerminator getXATerminator()

      Provides a handle to a `XATerminator` instance. The `XATerminator` instance could be used by a resource adapter to flow-in transaction completion and crash recovery calls from an EIS.
      Returns:
        a `XATerminator` instance.

    - #### createTimer

          Timer createTimer()
                            throws UnavailableException

      Creates a new `java.util.Timer` instance. The `Timer` instance could be used to perform periodic `Work` executions or other tasks.
      Returns:
        a new `Timer` instance.
      Throws:
        `UnavailableException` - indicates that a `Timer` instance is not available. The request may be retried later.

    - #### isContextSupported

          boolean isContextSupported(Class<? extends WorkContext> workContextClass)

      A resource adapter can check an application server's support for a particular WorkContext type through this method. This mechanism enables a resource adapter developer to dynamically change the WorkContexts submitted with a Work instance based on the support provided by the application server. The application server must employ an exact type equality check (that is `java.lang.Class.equals(java.lang.Class)` check) in this method, to check if it supports the WorkContext type provided by the resource adapter. This method must be idempotent, that is all calls to this method by a resource adapter for a particular `WorkContext` type must return the same boolean value throughout the lifecycle of that resource adapter instance.
      Parameters:
        `workContextClass` - The WorkContext type that is tested for support by the application server.
      Returns:
        true if the `workContextClass` is supported by the application server. false if the `workContextClass` is unsupported or unknown to the application server.
      Since:
        1.6

    - #### getTransactionSynchronizationRegistry

          TransactionSynchronizationRegistry getTransactionSynchronizationRegistry()

      Provides a handle to a `TransactionSynchronization` instance. The `TransactionSynchronizationRegistry` instance could be used by a resource adapter to register synchronization objects, get transaction state and status etc. This interface is implemented by the application server by a stateless service object. The same object can be used by any number of resource adapter objects with thread safety.
      Returns:
        a `TransactionSynchronizationRegistry` instance.
      Since:
        1.6

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.