?? JPAEntityManagerProviderFactory


@ProviderType public interface JPAEntityManagerProviderFactory
A factory for creating JPAEntityManagerProvider instances

This factory can be used if the JPAEntityManagerProvider should not be a public service, for example to protect a username/password.

  • ??????

    • XA_ENLISTMENT_ENABLED

      static final String XA_ENLISTMENT_ENABLED
      The property used to determine whether XA enlistment is enabled for this resource provider
      ????:
    • LOCAL_ENLISTMENT_ENABLED

      static final String LOCAL_ENLISTMENT_ENABLED
      The property used to determine whether local enlistment is enabled for this resource provider
      ????:
    • XA_RECOVERY_ENABLED

      static final String XA_RECOVERY_ENABLED
      The property used to determine whether XA recovery is enabled for this resource provider
      ????:
    • CONNECTION_POOLING_ENABLED

      static final String CONNECTION_POOLING_ENABLED
      The property used to determine whether connection pooling is enabled for this resource provider
      ????:
    • CONNECTION_TIMEOUT

      static final String CONNECTION_TIMEOUT
      The property used to set the maximum amount of time that the pool should wait for a connection
      ????:
    • IDLE_TIMEOUT

      static final String IDLE_TIMEOUT
      The property used to set the maximum amount of time that connections in the pool should remain idle before being closed
      ????:
    • CONNECTION_LIFETIME

      static final String CONNECTION_LIFETIME
      The property used to set the maximum amount of time that connections in the pool should remain open
      ????:
    • MIN_CONNECTIONS

      static final String MIN_CONNECTIONS
      The property used to set the minimum number of connections that should be held in the pool
      ????:
    • MAX_CONNECTIONS

      static final String MAX_CONNECTIONS
      The property used to set the maximum number of connections that should be held in the pool
      ????:
    • TRANSACTIONAL_DB_CONNECTION

      static final String TRANSACTIONAL_DB_CONNECTION
      The property used to provide a JDBCConnectionProvider to the resource provider. This will be converted into a DataSource by the factory, and passed to the EntityManagerFactoryBuilder using the javax.persistence.jtaDataSource property
      ????:
    • PRE_ENLISTED_DB_CONNECTION

      static final String PRE_ENLISTED_DB_CONNECTION
      The property used to indicate that database connections will be automatically enlisted in ongoing transactions without intervention from the JPA resource provider
      ????:
    • OSGI_RECOVERY_IDENTIFIER

      static final String OSGI_RECOVERY_IDENTIFIER
      The property used to set the recovery identifier that should be used by this resource
      ????:
  • ??????

    • getProviderFor

      JPAEntityManagerProvider getProviderFor(EntityManagerFactoryBuilder emfb, Map<String,Object> jpaProperties, Map<String,Object> resourceProviderProperties)
      Create a private JPAEntityManagerProvider using an EntityManagerFactoryBuilder. This call may fail with a TransactionException if the supplied configuration is invalid. Examples of invalid configuration include:
      • The properties request XA enlistment, but the provider implementation only supports local enlistment
      • The properties attempt to set a recovery alias, but the provider does not support recovery.

      If XA transactions are used then this factory will provide configuration to ensure that the JPA Provider can participate correctly in ongoing transactions.

      ??:
      emfb -
      jpaProperties - The properties to pass to the EntityManagerFactoryBuilder in order to create the underlying EntityManagerFactory and EntityManager instances
      resourceProviderProperties - Configuration properties to pass to the JPA Resource Provider runtime
      ??:
      A JPAEntityManagerProvider that can be used in transactions
    • getProviderFor

      JPAEntityManagerProvider getProviderFor(javax.persistence.EntityManagerFactory emf, Map<String,Object> resourceProviderProperties)
      Create a private JPAEntityManagerProvider using an existing EntityManagerFactory. This call may fail with a TransactionException if the supplied configuration is invalid. Examples of invalid configuration include:
      • The properties request XA enlistment, but the provider implementation only supports local enlistment
      • The properties attempt to set a recovery alias, but the provider does not support recovery.

      When using this method the client is responsible for all configuration of the EntityManagerFactory. This includes setting any relevant integration plugins for ensuring that the JPA provider can participate in the ongoing transaction context.

      ??:
      emf -
      resourceProviderProperties - Configuration properties to pass to the JDBC Resource Provider runtime
      ??:
      A JPAEntityManagerProvider that can be used in transactions
    • releaseProvider

      void releaseProvider(JPAEntityManagerProvider provider)
      Release a JPAEntityManagerProvider instance that has been created by this factory. Released instances are eligible to be shut down and have any remaining open connections closed.

      Note that all JPAEntityManagerProvider instances created by this factory service are implicitly released when the factory service is released by this bundle.

      ??:
      provider -
      ??:
      IllegalArgumentException - if the supplied resource was not created by this factory service instance.