JNDI provider für Oracle AQ
When using Oracle AQ inside a standard JEE environment you need to lookup a javax.jms.ConnectionFactory
instance via JNDI but the Java client for Oracle AQ is not providing a JNDI compliant factory class.
This is a simple wrapper class that provides for JNDI lookup of an AQ ConnectionFactory. This is done using Java reflection mechanism in order to be independent of proprietary Oracle JARs.
Add to Tomcat's server.xml
a new resource element.
Using direct JDBC access to Oracle AQ:
<Resource auth="Container"
name="jms/AQConnectionFactory"
type="oracle.jms.AQjmsConnectionFactory"
description="JMS Connection Factory"
factory="com.artofarc.eai.aq.AQObjectFactory"
jdbcURL="jdbc:oracle:thin:user/passwd@localhost:1521:xe"/>
You can also use it via DataSource:
<Resource auth="Container"
name="jms/AQConnectionFactory"
type="oracle.jms.AQjmsConnectionFactory"
description="JMS Connection Factory"
factory="com.artofarc.eai.aq.AQObjectFactory"
dataSource="java:/jdbc/OracleDB-With-AQ"/>
Important: You need to configure the DataSource via Oracle's UCP - the internal Tomcat JDBC Connection Pool does not work.
1.0 Initial release
1.1 Support for JBoss EAP 7.1, make compliant=true the default, allow user/password to be specified separately when using jdbcURL