Datatype Mapping Understanding the Oracle CEP JDBC Data Cartridge

Oracle CEP JDBC Data Cartridge 17-5 details.orderInfo.description from OrderArrival[now] as currentOrder, TABLEgetDetailsByOrderIdNameJdbcCartridgeOne currentOrder.orderId, currentOrder.empName as orderInfo as details ]]query rules processor ... For more information, see How to Configure Oracle CEP JDBC Data Cartridge Application Context in the Oracle Complex Event Processing Developers Guide for Eclipse.

17.2 Using the Oracle CEP JDBC Data Cartridge

In general, you use the Oracle CEP JDBC data cartridge as follows: 1. Define the data sources in the Oracle CEP server config.xml file that are referenced by the Oracle CEP JDBC data cartridge contexts. The name used for a data source during its configuration in Oracle CEP server config.xml is used while configuring the JDBC cartridge context, using the data-source property, as shown in Example 17–4 . To use the Oracle JDBC version 11.2 driver bundled with Oracle CEP, in the Oracle CEP server config.xml file, create a data-source element for your driver version and add a driver-params child element as Example 17–5 shows. Example 17–5 driver-params Child Element driver-params urljdbc:oracle:thin:lcw2k18:1531:lcw101url driver-nameoracle.jdbc.xa.client.OracleXADataSourcedriver-name properties elementnameusernamevaluescottvalueelement elementnamepasswordnamevalue{3DES}EoIfSBMhnW8=valueelement elementnamecom.bea.core.datasource.serviceNamenamevalueoracle11.2gvalueelement elementnamecom.bea.core.datasource.serviceVersionnamevalue11.2.0valueelement elementnamecom.bea.core.datasource.serviceObjectClassnamevaluejava.sql.Drivervalueelement properties use-xa-data-source-interfacetrueuse-xa-data-source-interface driver-params For more information, see: ■ Configuring JDBC for Oracle CEP in the Oracle Complex Event Processing Administrators Guide ■ Configuring Access to a Different Database Driver or Driver Version in the Oracle Complex Event Processing Administrators Guide 2. Declare and define an Oracle CEP JDBC cartridge application-scoped context. For more information, see Section 17.1.4, Oracle CEP JDBC Data Cartridge Application Context . Note: To use the Oracle CEP JDBC data cartridge, your data source must use Oracle JDBC driver version 11.2 or higher. 17-6 Oracle Complex Event Processing CQL Language Reference 3. Define one or more SQL statements in the jc:jdbc-ctx element in the component configuration file. For more information, see Section 17.2.1, Defining SQL Statements: function Element. 4. If you specify the function element return-component-type child element as a Java bean, implement the bean and ensure that the class is on your Oracle CEP application classpath. Example 17–6 shows a typical implementation. Example 17–6 Example return-component-type Class package com.oracle.cep.example.jdbc_cartridge; public class RetEvent { public String employeeName; public String employeeEmail; public String description; Default constructor is mandatory public RetEvent1 {} May contain getters and setters for the fields public String getEmployeeName { return this.employeeName; } public void setEmployeeNameString employeeName { this.employeeName = employeeName; } ... May contain other helper methods public int getEmployeeNameLength { return employeeName.length; } } You must declare the fields as public. The return-component-type class for a JDBC cartridge context function must have a one-to-one mapping for fields in the SELECT list of the SQL query that defines the function. In other words, every field in the SELECT list of the SQL query defining a function must have a corresponding field matching name in the Java class that is declared to be the return-component-type for that function; otherwise Oracle CEP throws an error. For example, note how the SELECT items in the function in Example 17–4 match the field names in Example 17–6 . For more information, see: ■ Section 17.2.1.2.2, return-component-type ■ Oracle CEP IDE for Eclipse Projects in the Oracle Complex Event Processing Developers Guide for Eclipse 5. Define one or more Oracle CQL queries that call the SQL statements defined in the jc:jdbc-ctx element using the Oracle CQL TABLE clause and access the returned results by SQL SELECT list alias names.