The Spring Framework

## org.springframework.jms.connection
Class SingleConnectionFactory102

    java.lang.Object
      org.springframework.jms.connection.SingleConnectionFactory
          org.springframework.jms.connection.SingleConnectionFactory102

All Implemented Interfaces:
  ConnectionFactory, ExceptionListener, QueueConnectionFactory, TopicConnectionFactory, DisposableBean, InitializingBean

    public class SingleConnectionFactory102

extends SingleConnectionFactory

A subclass of `SingleConnectionFactory` for the JMS 1.0.2 specification, not relying on JMS 1.1 methods like SingleConnectionFactory itself. This class can be used for JMS 1.0.2 providers, offering the same API as SingleConnectionFactory does for JMS 1.1 providers.

You need to set the `"pubSubDomain" property`, since this class will always explicitly differentiate between a `QueueConnection` and a `TopicConnection`.

Since:
  1.1
Author:
  Juergen Hoeller
See Also:
  `SingleConnectionFactory.setTargetConnectionFactory(javax.jms.ConnectionFactory)`, `setPubSubDomain(boolean)`

Field Summary

Fields inherited from class org.springframework.jms.connection.SingleConnectionFactory
`logger`

Constructor Summary
`SingleConnectionFactory102()` Create a new SingleConnectionFactory102 for bean-style usage.
`SingleConnectionFactory102(ConnectionFactory connectionFactory, boolean pubSubDomain)` Create a new SingleConnectionFactory102 that always returns a single Connection that it will lazily create via the given target ConnectionFactory.

Method Summary
`void` `afterPropertiesSet()` In addition to checking whether the target ConnectionFactory is set, make sure that the supplied factory is of the appropriate type for the specified destination type: QueueConnectionFactory for queues, TopicConnectionFactory for topics.
`protected Connection` `doCreateConnection()` This implementation overrides the superclass method to use JMS 1.0.2 API.
`boolean` `isPubSubDomain()` Return whether the Publish/Subscribe domain (Topics) is used.
`void` `setPubSubDomain(boolean pubSubDomain)` Configure the factory with knowledge of the JMS domain used.

Methods inherited from class org.springframework.jms.connection.SingleConnectionFactory

`closeConnection, createConnection, createConnection, createQueueConnection, createQueueConnection, createTopicConnection, createTopicConnection, destroy, getClientId, getExceptionListener, getSession, getSharedConnectionProxy, getTargetConnectionFactory, initConnection, isReconnectOnException, onException, prepareConnection, resetConnection, setClientId, setExceptionListener, setReconnectOnException, setTargetConnectionFactory`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SingleConnectionFactory102

    public SingleConnectionFactory102()

  Create a new SingleConnectionFactory102 for bean-style usage.

### SingleConnectionFactory102

    public SingleConnectionFactory102(ConnectionFactory connectionFactory,
                                      boolean pubSubDomain)

  Create a new SingleConnectionFactory102 that always returns a single Connection that it will lazily create via the given target ConnectionFactory.

  Parameters:
    `connectionFactory` - the target ConnectionFactory
    `pubSubDomain` - whether the Publish/Subscribe domain (Topics) or Point-to-Point domain (Queues) should be used

Method Detail

### setPubSubDomain

    public void setPubSubDomain(boolean pubSubDomain)

  Configure the factory with knowledge of the JMS domain used. This tells the JMS 1.0.2 provider which class hierarchy to use for creating Connections and Sessions.

  Default is Point-to-Point (Queues).

  Parameters:
    `pubSubDomain` - `true` for Publish/Subscribe domain (Topics), `false` for Point-to-Point domain (Queues)

### isPubSubDomain

    public boolean isPubSubDomain()

  Return whether the Publish/Subscribe domain (Topics) is used. Otherwise, the Point-to-Point domain (Queues) is used.

### afterPropertiesSet

    public void afterPropertiesSet()

  In addition to checking whether the target ConnectionFactory is set, make sure that the supplied factory is of the appropriate type for the specified destination type: QueueConnectionFactory for queues, TopicConnectionFactory for topics.

  Specified by:
    `afterPropertiesSet` in interface `InitializingBean`
  Overrides:
    `afterPropertiesSet` in class `SingleConnectionFactory`

### doCreateConnection

    protected Connection doCreateConnection()
                                     throws JMSException

  This implementation overrides the superclass method to use JMS 1.0.2 API.

  Overrides:
    `doCreateConnection` in class `SingleConnectionFactory`
  Returns:
    the new JMS Connection
  Throws:
    `JMSException` - if thrown by JMS API methods

The Spring Framework

Copyright © 2002-2008 The Spring Framework.