Esper系列(十四)Contained-Event Selection
功能:该语法是针对所查询事件中的属性又是另一种属性的查询结果控制。
格式:
| 1 | "+j); |
| 19 | bean.setBean(item); |
| 20 | list.add(bean); |
| 21 | } |
| 22 | |
| 23 | orderArray ary = new orderArray(); |
| 24 | ary.setOrderBeans(list); |
| 25 | event.setOrderAry(ary); |
| 26 | event.setOrderBeans(list); |
| 27 | |
| 28 | String epsql = "select * from orderEvent[orderAry.orderBeans][bean]"; |
| 29 | EPStatement epstate = epAdmin.createEPL(epsql); |
| 30 | epstate.addListener(new orderListener()); |
| 31 | |
| 32 | epRuntime.sendEvent(event); |
说明:
1、epl执行语句为 select * from orderEvent[orderAry.orderBeans] 表示查询orderEvent事件中orderAry事件属性字段中的orderBeans 事件,因为orderEvent与orderAry、orderAry与orderBeans都是有一种嵌套关系,就像类中有类一样是具有层次的;
2、epl执行语句为 select * from orderEvent[orderAry.orderBeans][bean] 表示只查询orderItem事件信息(bean为orderItem类型), 因为orderAry.orderBeans返回的是orderBean类型的数组,而orderItem又是orderBean的属性成员(bean与orderAry.orderBeans不在一个层面上),所以[orderAry.orderBeans][bean]表示的返回orderItem事件;
3、返回结果的数据格式,由各事件类的toString函数定义;
4、Contained-Event在join查询中,如果事件来自于named window,那么连接操作就必须加上unidirectional关键字,作用为每次连接操作的结果都独立起来;
示例:
| 1 | String join5 = "select count(*) from " + mediaOrder + "[books.book] as book unidirectional, " + mediaOrder |
| 2 | + "[items.item] as item where productId = bookId"; |
| 3 | String join4 = "select count(*) from " + mediaOrder + "[books.book] as book, " + mediaOrder |
| 4 | + "[items.item] as item where productId = bookId"; |
说明:
Join4中当发送两个同样的mediaOrder对象,聚合函数count是要累加,而join5不会;
Esper系列(十四)Contained-Event Selection的更多相关文章
- struts2官方 中文教程 系列十四:主题Theme
介绍 当您使用一个Struts 2标签时,例如 <s:select ..../> 在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...
- 学习ASP.NET Core Razor 编程系列十四——文件上传功能(二)
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- 闯祸了,生成环境执行了DDL操作《死磕MySQL系列 十四》
由于业务随着时间不停的改变,起初的表结构设计已经满足不了如今的需求,这时你是不是想那就加字段呗!加字段也是个艺术活,接下来由本文的主人咔咔给你吹. 试想一下这个场景 事务A在执行一个非常大的查询 事务 ...
- MP实战系列(十四)之分页使用
MyBatis Plus的分页,有插件式的,也有其自带了,插件需要配置,说麻烦也不是特别麻烦,不过觉得现有的MyBatis Plus足以解决,就懒得配置插件了. MyBatis Plus的资料不算是太 ...
- 【Qt编程】基于Qt的词典开发系列<十四>自动补全功能
最近写了一个查单词的类似有道词典的软件,里面就有一个自动补全功能(即当你输入一个字母时,就会出现几个候选项).这个自动补全功能十分常见,百度搜索关键词时就会出现.不过它们这些补全功能都是与你输入的进行 ...
- WPF入门教程系列十四——依赖属性(四)
六.依赖属性回调.验证及强制值 我们通过下面的这幅图,简单介绍一下WPF属性系统对依赖属性操作的基本步骤: 借用一个常见的图例,介绍一下WPF属性系统对依赖属性操作的基本步骤: 第一步,确定Base ...
- BizTalk开发系列(十四) XML空白字符(WhiteSpace)
最近在做一个BizTalk项目,对XML文件的处理很复杂.本来是想找有没有方法可以一次性去除XML文件中节点和属性的值的空格.但是找了很久没有看到相关的方法.如果有知道该方法的麻烦跟我讲一下:cbcy ...
- SSE图像算法优化系列十四:局部均方差及局部平方差算法的优化。
关于局部均方差有着较为广泛的应用,在我博客的基于局部均方差相关信息的图像去噪及其在实时磨皮美容算法中的应用及使用局部标准差实现图像的局部对比度增强算法中都有谈及,即可以用于去噪也可以用来增强图像,但是 ...
- shiro实战系列(十四)之配置
Shiro 被设计成能够在任何环境下工作,从最简单的命令行应用程序到最大的的企业群集应用.由于环境的多样性,使得许多配置机制适用于它的配置. 一. 许多配置选项 Shiro的SecurityManag ...
随机推荐
- itext 落雨 out of membery Memory Optimization
Memory Optimization If a document deals with a lot of data or large elements, such as images, it is ...
- use sql trigger call java function
Use UDF sys_exec to do this. You can use this link to use sys_exec function. It says, sys_exec sys_e ...
- android 从系统相册获取一张图片
package net.viralpatel.android.imagegalleray; import android.app.Activity; import android.content.In ...
- Pig安装及简单使用(pig版本0.13.0,Hadoop版本2.5.0)
原文地址:http://www.linuxidc.com/Linux/2014-03/99055.htm 我们用MapReduce进行数据分析.当业务比较复杂的时候,使用MapReduce将会是一个很 ...
- 使用JS动态创建含有1000行的表格
function addTable(){ createTable1(1000); //createTable2(1000); //createTable3(1000); //createTable4( ...
- 命令格式 kill -3 pid
命令格式 kill -3 pid 作用 打印进程号为pid的进程中,每个线程的执行日志 到 nohup文件 中,如果nohup的输出做了重定向,那么输出到重定向以后的文件中. 命令格式 top -Hp ...
- SPRING IN ACTION 第4版笔记-第八章Advanced Spring MVC-006-Pizza例子的支付流程
一. 1. 2.payment-flow.xml <?xml version="1.0" encoding="UTF-8"?> <flow x ...
- Android之AlertDialog.Builder详解
import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; ...
- Zookeeper命令
常用命令 ZooKeeper 支持某些特定的四字命令字母与其的交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 telnet 或 nc 向 Zoo ...
- Netfilter&iptables:如何理解连接跟踪机制?
如何理解Netfilter中的连接跟踪机制? 本篇我打算以一个问句开头,因为在知识探索的道路上只有多问然后充分调动起思考的机器才能让自己走得更远.连接跟踪定义很简单:用来记录和跟踪连接的状态. 问:为 ...