This chapter describes issues associated with Oracle Complex Event Processing (Oracle CEP). It includes the following topics:
Note:The issues and workarounds listed here are those that were known at the time of the product's initial release to the public. Additional issues and workarounds may have been discovered since the initial release. To view the latest known issues associated with Oracle SOA Suite, BPM Suite, and related SOA technologies, go to the Oracle Technology Network (OTN) at:
This version of Oracle CEP includes the following new features:
In this release, you can use an annotation-based programming model to extend Oracle CEP component configuration.
See "Extending Component Configuration" in the Oracle CEP Developer's Guide for Eclipse.
In this release, Oracle CEP IDE for Eclipse provides:
See "How to Create an Adapter Node" in the Oracle CEP Developer's Guide for Eclipse.
Event type repository editor
Ctrl-Click hyperlink navigation: see "Hyperlinking" in the Oracle CEP Developer's Guide for Eclipse.
Ctrl-Alt-T shortcut to open all Oracle CEP types: see "Browsing Oracle CEP Types" in the Oracle CEP Developer's Guide for Eclipse.
You can delete a node from the Event Processing Network (EPN) by selecting it and clicking the Delete key.
Oracle Continuous Query Language (Oracle CQL) is a query language based on SQL with added constructs that support streaming data. Using Oracle CQL, you can express queries on data streams to perform complex event processing (CEP) using Oracle CEP.
In this release, Oracle CQL includes:
JDBC data cartridges: see "Oracle JDBC Data Cartridge" in the Oracle CEP CQL Language Reference.
Parameterized Queries: see "Parameterized Queries" in the Oracle CEP CQL Language Reference.
Note:Oracle Event Processing Language (Oracle EPL) is deprecated and superseded by Oracle CQL. Oracle EPL will be removed in a future release.
The Oracle CEP Event Inspector service and stream visualizer now let you do the following in the development environment:
Trace events on any HTTP pub-sub server channel
Trace events on any stage in the EPN on the Event Inspector service dynamic HTTP pub-sub server channel
Inject events to any HTTP pub-sub server channel
Inject events into any stage in the EPN using the Event Inspector service dynamic HTTP pub-sub server channel
For more information, see "Tracing and Injecting Events in the EPN" in the Oracle CEP Visualizer User's Guide.
Oracle CEP provides a
bundler.sh utility that lets you create an OSGi bundle wrapper around an arbitrary Java Archive. You can deploy the resultant bundle JAR to an OSGi container where the Java packages/classes found within the bundle may be imported and used by other deployed bundles.
For more information, see "Creating Application Libraries" in the Oracle CEP Developer's Guide for Eclipse.
In this release, by default, the complete installation does not include the default
ocep_domain domain (with default passwords) and the product samples. If you want to install the default
ocep_domain domain and samples (recommended), choose the Custom option.
This section describes general issues and workarounds. It includes the following topics:
When configuring a high-availability application, use welvs:adapter attribute provider value
ha-buffered) and component configuration file element
ha:ha-buffered-adapter). The use of
ha:ha-buffered-adapter is deprecated.
This release does not support configuring HA adapters for event recording and playback. Ordinarily, you can configure adapters (along with other parts of your event processing network) to persist events to a data store for later playback. Due to an issue in this release, HA adapters — which help ensure consistency in applications configured for high availability — do not support event recording and playback.
Implementing a property getter to narrow its return type will break event binding for the setter. The property value will not be set. For example, event binding will break if the getter is declared as returning an Object in an interface that the event implements, but the method in your event implementation class returns some other type.
More broadly, neither covariance (narrowing return types in implementation) nor variable arguments are supported in event accessor methods.
The wlevsshell.jar file installed with Oracle CEP contains a manifest file that lists libraries with outdated version numbers. For example, in several cases, a JAR file name is appended with a version number such as 22.214.171.124_0, where the number should instead be 126.96.36.199_0.
Note:wlevsshell.jar provides the command-line shell for the Oracle Event Processing Language (Oracle EPL), which is deprecated and superceded by the Oracle Continuous Query Language; Oracle EPL will be removed in a future release.
To work around this, you can use the following lines to replace corresponding lines in the manifest file. Note that the text following each attribute, such as "Import-Package" and "Class-Path", should be on its own line in the manifest file; the lines are broken here for readability.
Export-Package: com.bea.wlevs.eplshell;version="188.8.131.52_0" Import-Package: bsh,com.bea.wlevs.ede.api;version="184.108.40.206_0", com.bea.wlevs.cep.impl;version="220.127.116.11_0", com.bea.wlevs.processor.impl;version="18.104.22.168_0", org.apache.commons.logging;version="1.1.0", org.osgi.framework Bundle-Name: com.bea.wlevs.eplshell Bundle-Description: WLEvS EPL Shell Bundle-SymbolicName: com.bea.wlevs.eplshell Class-Path: ../modules/com.bea.wlevs.ede.api_22.214.171.124_0.jar ../modules/com.bea.wlevs.spi_126.96.36.199_0.jar ../modules/com.bea.wlevs.processor_188.8.131.52_0.jar ../modules/com.bea.wlevs.cep_184.108.40.206_0.jar ../modules/com.bea.wlevs.eventtyperepo_220.127.116.11_0.jar ../modules/com.bea.wlevs.util_18.104.22.168_0.jar ../modules/cglib.cglib_2.1.3.jar ../modules/org.apache.commons-beanutils_1.8.0.jar ../../modules/com.bea.core.beanshell_22.214.171.124.jar ../../modules/com.bea.core.apache.commons.logging.api_1.1.0.jar ../../modules/com.bea.core.antlr.runtime_2.7.7.jar ../../modules/org.springframework.spring-beans_2.5.6.jar ../../modules/org.springframework.spring-osgi-core_1.2.0.jar ../../modules/org.osgi.eclipse.equinox_3.5.1.jar
Due to a limitation in the Eclipse IDE, Oracle CQL calls to some Java methods might generate compilation errors in the IDE even though the calls are valid at run time.
Using the Java data cartridge included with Oracle CEP, you can write Oracle CQL queries that call methods of your Java classes. As part of this support, at run time the Oracle CQL query processor will, if necessary, automatically convert a method argument given in CQL between the argument type's Java wrapper class and its corresponding primitive type (known in Java as "boxing" or "unboxing"); however, the Eclipse IDE will display a compilation error where your code assumes this run-time conversion. For example, given a method whose signature is fooMethod(int), a CQL call of fooMethod(Integer) will generate a compilation error in the IDE, but succeed at run time.
You can work around this limitation by compiling your code using an Ant build file rather than using the IDE.
The Windows Start menu item created for Oracle Complex Event Processing includes an incorrect link to documentation. By default, if you click the Start menu, then Oracle Complex Event Processing 11gR1, then Documentation, you'll see an error message (the browser displays an error 404). You can work around this limitation by entering the correct URL directly into your browser's address bar. The correct URL is
When you launch the Oracle Complex Event Processing Configuration Wizard, its splash screen displays an outdated copyright date. The copyright text should read as follows:
Copyright © 1996, 2011 Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.
This section describes configuration issues and their workarounds. It includes the following topics:
When defining or uploading Oracle CQL rules, Oracle CEP server log files, or Event Processing Network (EPN) stages, do not use identifiers that match Windows reserved file names. Doing so may prevent normal Oracle CEP operation.
For more information, see Naming Files, Paths, and Namespaces at
When you're creating a query with the Query Wizard in the Oracle CEP Visualizer, some fields might not be recognized in full-screen mode. This is due to a known issue with the Flash technology on which the Oracle CEP Visualizer is based. Here's an excerpt from the Abobe web site:
"Flash Player 9 does not allow keyboard input when displaying content in full-screen mode. Flash Player 10 changes this, allowing for a limited number of keys to be usable in full-screen mode. These include Tab, the Spacebar, and the (up, down, left, right) arrow keys."
For example, using Flash Player 9, imagine the following scenario: You view the Query Wizard tab in full screen mode (by clicking the Maximize panel button in the upper-right corner), then double-click the Window construct to display the Window editor dialog. In full screen mode, you might be unable to specify the Time window type without prompting an error message when you try to add the window.
If you're using the graphical installer to install Oracle CEP on a non-English version of Windows, you might see garbled text for non-English words in the user interface. For example, Select and Cancel buttons on browse dialog boxes — such as for selecting a middleware home directory, CEP installation directory or JDK home directory — can display garbled text.
On a related note, you will also be unable to choose a directory name that contains multibyte characters for your middleware home directory (the dialog box will display an error message).
This section describes documentation errata. It includes the following topics:
As of this version, in the EPN assembly file, you should use
char rather than
[C to indicate that an event property's type is a character array. The
[C expression will prevent compilation in the Eclipse IDE. Note that examples in the documentation currently use the older, incorrect type name:
<wlevs:properties> <!-- Incorrect - will prevent compilation! --> <wlevs:property name="symbol" type="[C" length="16" /> ... </wlevs:properties> <wlevs:properties> <!-- Correct. --> <wlevs:property name="symbol" type="char" length="16" /> ... </wlevs:properties>