title: Spring Integration with Oracle AQ
body: <p>I'm trying to learn Spring Integration and for this i would like to create an application like this:</p>
  
  <p>From Oracle i send messages (on Oracle Queue), this message will be intercepted from a Java application (build with Spring Integration) and the application will send an email based on message received. The message will contain To: - Cc: and the text to send.</p>
  
  <p>To make this kind of communication i've decided to use JMS (i think in Oracle this is made with Oracle AQ).</p>
  
  <p>In the database i've already created the Queue and now i'm trying to create a simple applicationContext.xml to start this handshake.</p>
  
  <p>Looking on the net i've found really few articles about this (Spring Integration + Oracle AQ) and i'm getting some error. The main error is this: <code>java.lang.ClassNotFoundException: oracle.jms.AQjmsFactory</code></p>
  
  <p>Right now this is my applicationContext.xml</p>
  
  <pre><code>&lt;beans
      xmlns="http://www.springframework.org/schema/beans"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration"
      xmlns:context="http://www.springframework.org/schema/context"
      xmlns:orcl="http://www.springframework.org/schema/data/orcl" 
      xmlns:int-jms="http://www.springframework.org/schema/integration/jms"
      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
              http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd
              http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
              http://www.springframework.org/schema/integration/jms http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
              http://www.springframework.org/schema/data/orcl  http://www.springframework.org/schema/data/orcl/spring-data-orcl-1.0.xsd"&gt;
  
      &lt;int:channel id="inbound" /&gt;
      &lt;int:channel id="outbound" /&gt;
  
      &lt;bean id="simpleMessageListener" class="it.dirimo.SimpleMessageListener" /&gt;
  
      &lt;int-jms:inbound-channel-adapter
          channel="inbound"
          connection-factory="connectionFactory"
          destination-name="Q1"&gt;  
          &lt;int:poller fixed-delay="1000" /&gt;
      &lt;/int-jms:inbound-channel-adapter&gt;
  
      &lt;int:service-activator input-channel="inbound" output-channel="outbound" ref="simpleMessageListener" method="onMessage" /&gt;
  
      &lt;int-jms:outbound-channel-adapter id="jmsOut" 
          channel="outbound" 
          connection-factory="connectionFactory"
          destination-name="sampleQueue" /&gt;
  
      &lt;int:poller id="poller" default="true" fixed-delay="10000" /&gt;
  
      &lt;orcl:aq-jms-connection-factory id="connectionFactory"
          data-source="dataSource"
          use-local-data-source-transaction="true"/&gt;
  
      &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" lazy-init="false"&gt;
          &lt;property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /&gt;
          &lt;property name="url" value="jdbc:oracle:thin:@localhost:1521:ORCL" /&gt;
          &lt;property name="username" value="user" /&gt;
          &lt;property name="password" value="password" /&gt;
      &lt;/bean&gt;
  &lt;/beans&gt;
  </code></pre>
  
  <p>Maybe i'm using "old" technologies (for example i've seen for the first time this <code>org.apache.commons.dbcp.BasicDataSource</code>)</p>
  
  <p>Unfortunally i'm so new about Spring Integration and i've seen for the first time Oracle Queue (i'm using Oracle for work but never used any kind of Queue).</p>
  
  <p>Some advice of how to proceed will be apreciated :)</p>
  
  <p><strong>EDIT 1</strong>
  To solve the problem about the AQjmsFactory need to include aqapi.jar</p>