javax.jms

## Annotation Type JMSConnectionFactoryDefinition

-     @Target(value=TYPE)
      @Retention(value=RUNTIME)
      public @interface JMSConnectionFactoryDefinition

  An application may use this annotation to specify a JMS `ConnectionFactory` resource that it requires in its operational environment. This provides information that can be used at the application's deployment to provision the required resource and allows an application to be deployed into a Java EE environment with more minimal administrative configuration.

  The `ConnectionFactory` resource may be configured by setting the annotation elements for commonly used properties. Additional properties may be specified using the `properties` element. Once defined, a `ConnectionFactory` resource may be referenced by a component in the same way as any other `ConnectionFactory` resource, for example by using the `lookup` element of the `Resource` annotation.

  Since:
    JMS 2.0
  See Also:
    `Resource`

- - ### Required Element Summary

    Required Elements
    Modifier and Type | Required Element and Description
    --- | ---
    `String` | `name` JNDI name of the JMS connection factory being defined.

  - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `String` | `className` Fully-qualified name of the JMS connection factory implementation class.
    `String` | `clientId` Client id to use for connection.
    `String` | `description` Description of this JMS connection factory.
    `String` | `interfaceName` Fully qualified name of the JMS connection factory interface.
    `int` | `maxPoolSize` Maximum number of connections that should be concurrently allocated for a connection pool.
    `int` | `minPoolSize` Minimum number of connections that should be concurrently allocated for a connection pool.
    `String` | `password` Password to use for connection authentication.
    `String[]` | `properties` JMS connection factory property.
    `String` | `resourceAdapter` Resource adapter name.
    `boolean` | `transactional` Set to `false` if connections should not participate in transactions.
    `String` | `user` User name to use for connection authentication.

- - ### Element Detail

    - #### name

          public abstract String name

      JNDI name of the JMS connection factory being defined.

    - #### description

          public abstract String description

      Description of this JMS connection factory.
      Default:
        ""

    - #### interfaceName

          public abstract String interfaceName

      Fully qualified name of the JMS connection factory interface. Permitted values are `javax.jms.ConnectionFactory` or `javax.jms.QueueConnectionFactory` or `javax.jms.TopicConnectionFactory`. If not specified then `javax.jms.ConnectionFactory` will be used.
      Default:
        "javax.jms.ConnectionFactory"

    - #### className

          public abstract String className

      Fully-qualified name of the JMS connection factory implementation class. Ignored if a resource adapter is used.
      Default:
        ""

    - #### resourceAdapter

          public abstract String resourceAdapter

      Resource adapter name. If not specified then the application server will define the default behaviour, which may or may not involve the use of a resource adapter.
      Default:
        ""

    - #### user

          public abstract String user

      User name to use for connection authentication.
      Default:
        ""

    - #### password

          public abstract String password

      Password to use for connection authentication.
      Default:
        ""

    - #### clientId

          public abstract String clientId

      Client id to use for connection.
      Default:
        ""

    - #### properties

          public abstract String[] properties

      JMS connection factory property. This may be a vendor-specific property or a less commonly used `ConnectionFactory` property.

      Properties are specified using the format: propertyName=propertyValue with one property per array element.

      Default:
        {}

    - #### transactional

          public abstract boolean transactional

      Set to `false` if connections should not participate in transactions.

      Default is to enlist in a transaction when one is active or becomes active.

      Default:
        true

    - #### maxPoolSize

          public abstract int maxPoolSize

      Maximum number of connections that should be concurrently allocated for a connection pool.

      Default is vendor-specific.

      Default:
        -1

    - #### minPoolSize

          public abstract int minPoolSize

      Minimum number of connections that should be concurrently allocated for a connection pool.

      Default is vendor-specific.

      Default:
        -1

Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.