Introduction

Configuration now has 3 sections:

  1. Common section: All configuration common to the compiler and the runtime
  2. Compiler section: Configuration that applies to the compiler only
  3. Runtime section: Configuration that applies to the runtime only

The compiler ignores the runtime section of the configuration, and the runtime ignores the compiler section of the configuration.

Configuration Object Class and Package Name

Esper-8 moved configuration classes to com.espertech.esper.common.client.configuration and the common, compiler and runtime packages.

Esper-8 renamed configuration classes. A table of renamed classes can be found below. Certain configuration inner classes have been moved to com.espertech.esper.common.client.util.

Migrating XML files

The new schema is esper-configuration-8-0.xsd .

NOTE: The new schema is not compatible with the version 7 schema.

The new schema moves all configuration to <common>, <compiler> and <runtime> elements.

EsperTech provides an online cloud-based application that can read an existing Esper-7 XML configuration and produce an Esper-8 XML configuration. The link is http://esper-config-upgrade7to8.appspot.com.
The class that provides the functionality is com.espertech.esper.common.client.configuration.ConfigurationSchema7To8Upgrade.

Table of Updates

The below table is structured by configuration topic. Within the topic the table describes into which section (common, compiler, runtime) the configuration moves.

In some cases, specifically for engine settings, multiple sections may apply. In this case the table provides instructions which subset of properties belongs to which section.

Category Move to Esper-7 Esper-8
Event Types common <event-type> <common><event-type></common>
ConfigurationEventTypeLegacy ConfigurationCommonEventTypeBean
ConfigurationEventTypeMap ConfigurationCommonEventTypeMap
ConfigurationEventTypeObjectArray ConfigurationCommonEventTypeObjectArray
ConfigurationEventTypeXMLDOM ConfigurationCommonEventTypeXMLDOM
ConfigurationEventTypeAvro ConfigurationCommonEventTypeAvro
Event Type Auto Name common <event-type-auto-name> <common><event-type-auto-name></common>
Imports common <auto-import> <common><auto-import></common>
Annotation Imports common <auto-import-annotations> <common><auto-import-annotations></common>
Database References common <database-reference> <common><database-reference></common>
ConfigurationDBRef ConfigurationCommonDBRef
Method Join References common <method-reference> <common><method-reference></common>
ConfigurationMethodRef ConfigurationCommonMethodRef
Variables common <variable> <common><variable></common>
ConfigurationVariable ConfigurationCommonVariable
Variant Stream common <variant-stream> <common><variant-stream></common>
ConfigurationVariantStream ConfigurationCommonVariantStream
Byte Code Generation compiler <bytecodegen> <compiler><bytecode></compiler> (Note: Element name rename. Note: Configuration items changed significantly.)
ConfigurationEngineDefaults.ByteCodeGeneration ConfigurationCompilerByteCode (Note: Configuration items changed significantly.)
Plug-In View compiler <plugin-view> <compiler><plugin-view></compiler> (NOTE: requires configuring a forge class)
ConfigurationPlugInView ConfigurationCompilerPlugInView
Plug-In Virtual Data Window compiler <plugin-virtualdw> <compiler><plugin-virtualdw></compiler> (NOTE: requires configuring a forge class)
ConfigurationPlugInVirtualDataWindow ConfigurationCompilerPlugInVirtualDataWindow
Plug-In Aggregation Function compiler <plugin-aggregation-function> <compiler><plugin-aggregation-function></compiler> (NOTE: requires configuring a forge class)
ConfigurationPlugInAggregationFunction ConfigurationCompilerPlugInAggregationFunction
Plug-In Aggregation Multi-Function compiler <plugin-aggregation-multifunction> <compiler><plugin-aggregation-multifunction></compiler> (NOTE: requires configuring a forge class)
ConfigurationPlugInAggregationMultiFunction ConfigurationCompilerPlugInAggregationMultiFunction (NOTE: requires configuring a forge class)
Plug-In Single-Row Function compiler <plugin-singlerow-function> <compiler><plugin-singlerow-function></compiler>
ConfigurationPlugInSingleRowFunction ConfigurationCompilerPlugInSingleRowFunction
Plug-In Pattern Guard compiler <plugin-pattern-guard> <compiler><plugin-pattern-guard></compiler> (NOTE: requires configuring a forge class)
ConfigurationPlugInPatternObject ConfigurationCompilerPlugInPatternObject
Plug-In Pattern Observer compiler <plugin-pattern-observer> <compiler><plugin-pattern-observer></compiler> (NOTE: requires configuring a forge class)
ConfigurationPlugInPatternObject ConfigurationCompilerPlugInPatternObject
Plug-In Loader runtime <plugin-loader> <runtime><plugin-loader></runtime>
ConfigurationPluginLoader ConfigurationRuntimePluginLoader
Engine Settings - Threading runtime <engine-settings><threading></engine-settings> <runtime><threading></runtime>
ConfigurationEngineDefaults.Threading ConfigurationRuntimeThreading
Engine Settings - Event Type Meta Information common <engine-settings><event-meta></engine-settings> <common><event-meta></common>
ConfigurationEngineDefaults.EventMeta ConfigurationCommonEventTypeMeta
Engine Settings - View Resources compiler <engine-settings><view-resources></engine-settings> <compiler><view-resources></compiler>
ConfigurationEngineDefaults.ViewResources ConfigurationCompilerViewResources
Engine Settings - Logging common, compiler and runtime <engine-settings><logging></engine-settings> <common><logging></common> (see below)
<compiler><logging></compiler> (see below)
<compiler><logging></compiler> (see below)
ConfigurationEngineDefaults.Logging ConfigurationCommonLogging, ConfigurationCompilerLogging, ConfigurationRuntimeLogging
common Query-plan and jdbc
compiler Code logging
runtime Audit pattern, execution path, timer debug
Engine Settings - Logging common and compiler and runtime <engine-settings><logging></engine-settings> <common><logging></common> (see below)
<compiler><logging></compiler> (see below)
<runtime><logging></runtime> (see below)
ConfigurationEngineDefaults.Logging ConfigurationCommonLogging, ConfigurationCompilerLogging, ConfigurationRuntimeLogging
Engine Settings - Variables runtime <engine-settings><variables></engine-settings> <runtime><variables></runtime>
ConfigurationEngineDefaults.Variables ConfigurationRuntimeVariables
Engine Settings - Patterns runtime <engine-settings><patterns></engine-settings> <runtime><patterns></runtime>
ConfigurationEngineDefaults.Patterns ConfigurationRuntimePatterns
Engine Settings - Match-Recognize runtime <engine-settings><match-recognize></engine-settings> <runtime><match-recognize></runtime>
ConfigurationEngineDefaults.MatchRecognize ConfigurationRuntimeMatchRecognize
Engine Settings - Match-Recognize runtime <engine-settings><match-recognize></engine-settings> <runtime><match-recognize></runtime>
ConfigurationEngineDefaults.MatchRecognize ConfigurationRuntimeMatchRecognize
Engine Settings - Stream Selection compiler <engine-settings><stream-selection></engine-settings> <compiler><stream-selection></compiler>
ConfigurationEngineDefaults.StreamSelection ConfigurationCompilerStreamSelection
Engine Settings - Time Source common and runtime <engine-settings><time-source></engine-settings> <common><time-source></common> for the "timeUnit" setting and <runtime><time-source></runtime> for the "timeSourceType" setting
ConfigurationEngineDefaults.TimeSource ConfigurationCommonTimeSource and ConfigurationRuntimeTimeSource
Engine Settings - Metrics Reporting runtime <engine-settings><metrics-reporting></engine-settings> <runtime><metrics-reporting></runtime>
ConfigurationMetricsReporting ConfigurationRuntimeMetricsReporting
Engine Settings - Language compiler <engine-settings><language></engine-settings> <compiler><language></compiler>
ConfigurationEngineDefaults.Language ConfigurationCompilerLanguage
Engine Settings - Expression compiler and runtime <engine-settings><expression></engine-settings> <compiler><expression></compiler> and <runtime><expression></runtime>
ConfigurationEngineDefaults.Expression ConfigurationCompilerExpression and ConfigurationRuntimeExpression
compiler For all expression settings except "selfSubselectPreeval" and "timezone"
runtime For expression settings "selfSubselectPreeval" and "timezone"
Engine Settings - Execution common, compiler and runtime <engine-settings><execution></engine-settings> <common><execution></common> and <compiler><execution></compiler> and <runtime><execution></runtime>
ConfigurationEngineDefaults.Execution ConfigurationCommonExecution and ConfigurationCompilerExecution and ConfigurationRuntimeExecution
common For "threadingProfile" setting
compiler For "filterServiceMaxFilterWidth" setting
runtime For all other settings
Engine Settings - Exception Handling runtime <engine-settings><exceptionHandling></engine-settings> <runtime><exceptionHandling></runtime>
ConfigurationEngineDefaults.ExceptionHandling ConfigurationRuntimeExceptionHandling
Engine Settings - Condition Handling runtime <engine-settings><conditionHandling></engine-settings> <runtime><conditionHandling></runtime>
ConfigurationEngineDefaults.ConditionHandling ConfigurationRuntimeConditionHandling
Engine Settings - Scripts compiler <engine-settings><scripts></engine-settings> <compiler><scripts></compiler>
ConfigurationEngineDefaults.Scripts ConfigurationCompilerScripts
Revision Event Type <revision-event-type> Not supported by Esper 8
Plug-in Event Representation <plugin-event-representation> Not supported by Esper 8
<plugin-event-type> Not supported by Esper 8
<plugin-event-type-name-resolution> Not supported by Esper 8

Removed Configuration

  • The view resources configuration removes the share-views setting and the allow-multiple-expiry-policy setting.
  • The execution configuration removes the allow-isolated-service setting.
  • The runtime threading engine-fairlock is now runtime-fairlock.
  • The runtime metrics reporting engine-interval is now runtime-interval.
  • The runtime metrics reporting jmx-engine-metrics is now jmx-runtime-metrics.
  • The HA-configuration enginelock-settings is now runtimelock-settings.