org.mule.providers.oracle.jms
Class OracleJmsSupport

java.lang.Object
  extended by org.mule.providers.jms.Jms11Support
      extended by org.mule.providers.jms.Jms102bSupport
          extended by org.mule.providers.oracle.jms.OracleJmsSupport
All Implemented Interfaces:
JmsSupport

public class OracleJmsSupport
extends Jms102bSupport

Extends the standard Mule JMS Provider with functionality specific to Oracle's JMS implementation based on Advanced Queueing (Oracle AQ). Oracle 9i supports the JMS 1.0.2b specification while Oracle 10g supports JMS 1.1

See Also:
OracleJmsConnector, Jms102bSupport, Streams Advanced Queuing, Oracle9i J2EE Compliance

Field Summary
 
Fields inherited from class org.mule.providers.jms.Jms11Support
connector, context, forceJndiDestinations, jndiDestinations
 
Constructor Summary
OracleJmsSupport(JmsConnector connector, Context context, boolean jndiDestinations, boolean forceJndiDestinations)
           
 
Method Summary
 Connection createConnection(ConnectionFactory connectionFactory)
          Returns an OracleJmsConnection to masquerade the fact that there might be several javax.jms.Connections open (one per session).
 Connection createConnection(ConnectionFactory connectionFactory, String username, String password)
          Returns an OracleJmsConnection to masquerade the fact that there might be several javax.jms.Connections open (one per session).
 MessageConsumer createConsumer(Session session, Destination destination, String messageSelector, boolean noLocal, String durableName, boolean topic)
          In order to receive messages from a queue whose payload is an ADT (Oracle Advanced Data Type), we must pass the payload factory as a parameter when creating the receiver/subscriber.
 Destination createDestination(Session session, String name, boolean topic)
          The standard Oracle JMS classes (oracle.jms) do not support dynamic (i.e., run-time) creation of queues.
 Destination createTemporaryDestination(Session session, boolean topic)
          The standard Oracle JMS classes (oracle.jms) do not support dynamic (i.e., run-time) creation of queues.
 Map getEndpointProperties()
           
 Object getPayloadFactory()
          Get the payload factory class, if defined, from the connector or endpoint's properties.
 void setEndpointProperties(Map endpointProperties)
           
 
Methods inherited from class org.mule.providers.jms.Jms102bSupport
createProducer, createSession, send, send
 
Methods inherited from class org.mule.providers.jms.Jms11Support
createConsumer, getJndiDestination, send, send
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

OracleJmsSupport

public OracleJmsSupport(JmsConnector connector,
                        Context context,
                        boolean jndiDestinations,
                        boolean forceJndiDestinations)
Method Detail

createConnection

public Connection createConnection(ConnectionFactory connectionFactory)
                            throws JMSException
Returns an OracleJmsConnection to masquerade the fact that there might be several javax.jms.Connections open (one per session).

Specified by:
createConnection in interface JmsSupport
Overrides:
createConnection in class Jms102bSupport
Throws:
JMSException
See Also:
OracleJmsConnection

createConnection

public Connection createConnection(ConnectionFactory connectionFactory,
                                   String username,
                                   String password)
                            throws JMSException
Returns an OracleJmsConnection to masquerade the fact that there might be several javax.jms.Connections open (one per session).

Specified by:
createConnection in interface JmsSupport
Overrides:
createConnection in class Jms102bSupport
Throws:
JMSException
See Also:
OracleJmsConnection

createConsumer

public MessageConsumer createConsumer(Session session,
                                      Destination destination,
                                      String messageSelector,
                                      boolean noLocal,
                                      String durableName,
                                      boolean topic)
                               throws JMSException
In order to receive messages from a queue whose payload is an ADT (Oracle Advanced Data Type), we must pass the payload factory as a parameter when creating the receiver/subscriber.

Specified by:
createConsumer in interface JmsSupport
Overrides:
createConsumer in class Jms102bSupport
Throws:
JMSException
See Also:
AbstractOracleJmsConnector.PAYLOADFACTORY_PROPERTY

createDestination

public Destination createDestination(Session session,
                                     String name,
                                     boolean topic)
                              throws JMSException
The standard Oracle JMS classes (oracle.jms) do not support dynamic (i.e., run-time) creation of queues. This is only possible through the (non-standard) administrative classes (oracle.AQ). Therefore this method, which calls AQjmsSession.createQueue(name) or AQjmsSession.createTopic(name) will inevitably fail. The failure should produce a JMSException but for some reason it doesn't (maybe an Oracle bug) and just returns null. In this case, we generate the appropriate exception.

Specified by:
createDestination in interface JmsSupport
Overrides:
createDestination in class Jms102bSupport
Throws:
JMSException

createTemporaryDestination

public Destination createTemporaryDestination(Session session,
                                              boolean topic)
                                       throws JMSException
The standard Oracle JMS classes (oracle.jms) do not support dynamic (i.e., run-time) creation of queues. This is only possible through the (non-standard) administrative classes (oracle.AQ). Therefore this method, which calls AQjmsSession.createQueue(name) or AQjmsSession.createTopic(name) will inevitably fail. The failure should produce a JMSException but for some reason it doesn't (maybe an Oracle bug) and just returns null. In this case, we generate the appropriate exception.

Specified by:
createTemporaryDestination in interface JmsSupport
Overrides:
createTemporaryDestination in class Jms102bSupport
Throws:
JMSException

getPayloadFactory

public Object getPayloadFactory()
                         throws JMSException
Get the payload factory class, if defined, from the connector or endpoint's properties.

Throws:
JMSException
See Also:
AbstractOracleJmsConnector.PAYLOADFACTORY_PROPERTY

getEndpointProperties

public Map getEndpointProperties()

setEndpointProperties

public void setEndpointProperties(Map endpointProperties)


Copyright © 2003-2008 MuleSource, Inc.. All Rights Reserved.