Normalized Message Support Oracle AQ Adapter Features

Oracle JCA Adapter for AQ 7-9

7.2.9 DequeueTimeout Property

The DequeueTimeOut property supports multiple inbound dequeue threads. The value for this property determines how many seconds the dequeue API waits for messages before it returns and the next polling cycle begins. Add this property to the composite.xml file, as shown in the following example: service name=Inbound ui:wsdlLocation=Inbound.wsdl interface.wsdl interface=http:xmlns.oracle.compcbpeladapteraqAQ_ InboundRetry_MediatorAQ2JMSInboundRetryInbound2Fwsdl.interfaceDequeue_ptt binding.jca config=Inbound_aq.jca property name=DequeueTimeOut type=xs:integer many=falseoverride=may10 property binding.jca service

7.2.10 Control Dequeue Timeout and Multiple Inbound Polling Threads

Oracle AQ Adapter provides system properties to control dequeue timeout and multiple inbound polling threads for each Java Virtual Machine JVM, systemwide, instead of for each process. The system property provided by Oracle AQ Adapter to control dequeue timeout is oracle.adapter.aq.wait, and the property that controls inbound polling threads is adapter.aq.dequeue.threads.

7.2.11 Stream Payload Support

Oracle AQ Adapter provides support to stream payload. When you enable this feature, the payload is streamed to a database instead of getting manipulated in SOA run time as in a memory DOM. You use this feature while handling large payloads. To enable support to stream payload, you must select the Enable Streaming check box while defining the dequeue operation parameters in Oracle JDeveloper JDeveloper. When you select the Enable Streaming check box, a corresponding Boolean property EnableStreaming is appended to the ActivationSpec properties defined in the respective .jca file, as shown in the following example. If the EnableStreaming property does not exist, then the default value false is assumed. The property is applicable when processing Raw messages, XMLType messages, and ADT type messages for which a payload is specified though an ADT attribute. activation-spec className=oracle.tip.adapter.aq.inbound.AQDequeueActivationSpec property name=QueueName value=RAW_IN_QUEUE property name=DatabaseSchema value=SCOTT property name=EnableStreaming value=true activation-spec

7.2.12 Oracle AQ Adapter Inbound Retries

If you configure the Oracle AQ Adapter inbound retries to retry for more than 5 times by using the jca.retry.count service binding property for a retryable exception, then ensure that the queue is created with max_retries value that is greater then the value used for jca.retry.count. If nothing is specified, then the queue is created with a max_retries value of 5 which would mean that the message will end up in exception queue after 5 retries and will not be delivered to adapter for further 7-10 Oracle Fusion Middleware Users Guide for Technology Adapters processing. If jca.retry.count is specified with a value of 5 or less, then you do not have to change the queue max_retries property. Use the following code to change the max_retries property when creating a queue: begin DBMS_AQADM.CREATE_QUEUE_TABLE queue_table = RAW_IN_QUEUE_TABLE,queue_payload_ type = RAW; DBMS_AQADM.CREATE_QUEUE queue_name = RAW_IN_QUEUE,queue_table= RAW_IN_ QUEUE_TABLE, max_retries=1500; DBMS_AQADM.START_QUEUE queue_name = RAW_IN_QUEUE; DBMS_AQADM.CREATE_QUEUE_TABLE queue_table = RAW_OUT_QUEUE_TABLE, queue_ payload_type = RAW; DBMS_AQADM.CREATE_QUEUE queue_name = RAW_OUT_QUEUE, queue_table = RAW_OUT_ QUEUE_TABLE; DBMS_AQADM.START_QUEUE queue_name = RAW_OUT_QUEUE; end;

7.2.13 Error Handling Support

For information about error handling, see Section 2.22, Error Handling.

7.2.14 Performance Tuning

Oracle AQ Adapter supports performance tuning features. For more information, see Oracle AQ Adapter Tuning in the Oracle Fusion Middleware Performance and Tuning Guide.

7.3 Deployment

The Oracle AQ Adapter comes deployed to the application server as part of the install. It contains a single adapter instance entry eisAQaqSample, which points to the data source jdbcaqSample. The data source is not created as part of install and must be created manually. The connection information to the database is inside the data source definition. When deploying a SOA project that uses the Oracle AQ Adapter instance eisAQaqSample that exists at the time of installation, you must first create a data source at jdbcaqSample. On the other hand, if a new adapter instance is preferred, then you must add a new adapter instance and restart the application server. This is because you want to point to a data source other than the one referred in already existing adapter instance jdbcaqSample, or because you chose a name for the adapter instance that does not yet exist. For instance, if you create a connection in JDeveloper named DBConnection1, then by default the AQ Adapter service points to eisAQDBConnection1, as shown in Figure 7–6 . You can also check which adapter instance the service is pointing to by looking at the .jca file, as shown in the following code snippet: connection-factory location=eisAQaqSample … In the preceding example, the location is the JNDI name of the adapter instance at run time. You can create a new AQ Adapter instance through the Oracle WebLogic Server Administration Console, as mentioned in Section 2.19, Adding an Adapter Connection Factory or by directly editing the weblogic-ra.xml file. The following are the steps to edit weblogic-ra.xml: