Interface BrokerFactory

All Superinterfaces:
Closeable, Serializable
All Known Subinterfaces:
DistributedBrokerFactory
All Known Implementing Classes:
AbstractBrokerFactory, AbstractStoreBrokerFactory, DelegatingBrokerFactory, DistributedJDBCBrokerFactory, JDBCBrokerFactory

public interface BrokerFactory extends Serializable, Closeable
Factory for Broker instances.
Since:
0.4.0
Author:
Abe White
  • Method Details

    • getConfiguration

      OpenJPAConfiguration getConfiguration()
      Return the configuration for this factory.
    • getProperties

      Map<String,Object> getProperties()
      Return properties describing this runtime.
    • getSupportedProperties

      Set<String> getSupportedProperties()
      Return all of the supported properties as a set of keys. If a property has multiple keys, all keys will be returned.
      Since:
      2.0.0
    • putUserObject

      Object putUserObject(Object key, Object val)
      Put the specified key-value pair into the map of user objects.
    • getUserObject

      Object getUserObject(Object key)
      Get the value for the specified key from the map of user objects.
    • newBroker

      Broker newBroker()
      Return a broker with default settings.
    • newBroker

      Broker newBroker(String user, String pass, boolean managed, int connRetainMode, boolean findExisting)
      Return a broker using the given credentials and in the given transaction and connection retain mode, optionally finding existing broker in the global transaction.
    • newBroker

      Broker newBroker(String user, String pass, boolean managed, int connRetainMode, boolean findExisting, String cfName, String cf2Name)
      Return a new broker using the supplied
      • credentials
      • transaction management mode
      • connectionRetainMode
      • connectionFactories
      Parameters:
      user - Username to use when obtaining a connection. Will be ignored if a connection factory is obtained from JNDI.
      pass - Password to use when obtaining a connection. Will be ignored if a connection factory is obtained from JNDI.
      managed - Whether managed transactions will be used by this Broker
      connRetainMode - ConnectionRetainMode
      findExisting - Whether the internal pool of brokers should be used.
      cfName - JTA ConnectionFactory to use
      cf2Name - Non-JTA ConnectionFactory to use.
      Returns:
      A Broker which matches the provided criteria.
    • addLifecycleListener

      void addLifecycleListener(Object listener, Class<?>[] classes)
      Register a listener for lifecycle-related events on the specified classes. If the classes are null, all events will be propagated to the listener. The listener will be passed on to all new brokers.
      Since:
      0.3.3
    • removeLifecycleListener

      void removeLifecycleListener(Object listener)
      Remove a listener for lifecycle-related events.
      Since:
      0.3.3
    • addTransactionListener

      void addTransactionListener(Object listener)
      Register a listener for transaction-related events on the specified classes. It will be registered with all Brokers created from this instance moving forward.
      Since:
      1.0.0
    • removeTransactionListener

      void removeTransactionListener(Object listener)
      Remove a listener for transaction-related events. It will no longer be registered with new Brokers created from this instance.
      Since:
      1.0.0
    • close

      void close()
      Close the factory.
      Specified by:
      close in interface Closeable
    • isClosed

      boolean isClosed()
      Returns true if this broker factory is closed.
    • lock

      void lock()
      Synchronizes on an internal lock.
    • unlock

      void unlock()
      Release the internal lock.
    • assertOpen

      void assertOpen()
      assert that this broker is open. If the broker has been closed an IllegalStateException will be thrown with information on when the broker was closed.
    • postCreationCallback

      void postCreationCallback()
      This method is invoked AFTER a BrokerFactory has been instantiated.