功能:变量和常量的定义及应用。

EPL配置创建

// 方式一EPAdministrator之后再设置变量及常量
EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider();  
EPAdministrator admin = epService.getEPAdministrator();  
ConfigurationOperations conf = admin.getConfiguration();  
// 变量的定义
conf.addVariable("abc", String.class"initVariable");  
// 常量的定义
conf.addVariable("constabc"int.class.getName(), 123true);
// 方式二先配置好变量及常量,再生成epSerivce对象
Configuration conf = new Configuration();  
// 变量的定义
conf.addVariable("abc", String.class"initVariable");  
// 常量的定义
conf.addVariable("constabc"int.class.getName(), 123true);  
EPServiceProvider epService = EPServiceProviderManager.getDefaultProvider(conf);

EPL语法创建

EPL创建变量和常量格式:

create [constant] variable variable_type [[]] variable_name 
                [ = assignment_expression ] [aggregation_declarations]

格式说明:
1、constant: 为可选关键字,显式声明则表示声明的是常量,否则声明的是变量;
2、variable_type和variable_name分别表示变量的数据类型和变量名,变量名必须唯一。variable_type之后的[]表示这是一个数组类型的变量;
3、assignment_expression: 变量的初始值,如果不声明则表示没有初始值;
4、可以声明的变量类型:

variable_type
    :  string
    |  char 
    |  character
    |  bool 
    |  boolean
    |  byte
    |  short 
    |  int 
10      |  integer 
11      |  long 
12      |  double
13      |  float
14      |  object
15      |  enum_class
16      |  class_name
17      |  event_type_name

示例:

// 创建 integer 类型 sum变量初始值为6
epAdmin.createEPL("create variable integer varmun = 6 ");
// 创建 orderBean 事件类型变量 bean
epAdmin.createEPL("create variable orderBean bean  ");

修改变量值

格式:

on event_type[(filter_criteria)] [as stream_name]
  set variable_name = expression [, variable_name = expression [,...]]

说明:

通过接收某类事件并加上一定的过滤条件,将变量重新赋值,并且可以同时为多个变量赋值;

转载于:https://www.cnblogs.com/jianyuan/p/5033152.html

Esper系列(十二)Variables and Constants相关推荐

  1. Alamofire源码解读系列(十二)之请求(Request)

    本篇是Alamofire中的请求抽象层的讲解 前言 在Alamofire中,围绕着Request,设计了很多额外的特性,这也恰恰表明,Request是所有请求的基础部分和发起点.这无疑给我们一个Req ...

  2. kotlin杂谈系列十二(Kotlin和Java的互操作)

    Kotlin杂谈系列十二 这次就主要来谈谈kotlin和java互操作的问题 kotlin出来的使命就是为了解决java的模板问题和一些冗长的问题所以kotlin天生就很好的支持了java 所以我们在 ...

  3. Reflex WMS入门系列十二:Reflex里的Location

    Reflex WMS入门系列十二:Reflex里的Location 玩过SAP系统里的人都知道,在SAP系统里库存管理分为IM Level和WM Level.IM Level的仓库,在SAP里被定义为 ...

  4. Highcharts翻译系列十二:gauge测量图

    Highcharts翻译系列十二:gauge测量图 说明 测量图需要highcharts-more.js的支持 属性 参数 描述 默认值 animation 动画 true color 主要颜色或序列 ...

  5. xen是服务器虚拟化,xen虚拟化实战系列(十二)之xen虚拟机高可用之在线迁移

    xen虚拟化实战系列文章列表 xen虚拟化实战系列(十三)之xen虚拟机集中管理之convirt 1. 方案背景概述 本文是有对我们一个xen虚拟化生产环境将要改造的一个方案而来,在项目上线初期,没有 ...

  6. Web 前端开发精华文章推荐(jQuery、HTML5、CSS3)【系列十二】

    2012年12月12日,[<Web 前端开发人员和设计师必读文章>系列十二]和大家见面了.梦想天空博客关注 前端开发 技术,分享各种增强网站用户体验的 jQuery 插件,展示前沿的 HT ...

  7. Start Developing iOS Apps Today系列(十二)

    2019独角兽企业重金招聘Python工程师标准>>> Start Developing iOS Apps Today系列之后续 十二.iOS 技术 之前您已了解了如何编写一个具有简 ...

  8. java死锁业务场景_【深入浅出多线程系列十二】:什么是死锁?(场景+代码示例)...

    在学习Java的道路上,是否路过多线程时总让你很迷惘:很不巧,我也是,而使我们感到很迷惘主要原因都源于没有对概念的深深的理解和实践.所以我决定漫步Java多线程,同你一起会会多线程. 多线程系列 多线 ...

  9. 数据与广告系列十二:接上一篇,见习算法工程师教程

    作者|黄崇远(题图:ssyer.com,CCO协议)  公号,数据虫巢(ID: blogchong) " 看完了这篇,你就是个见习级算法工程师了.你觉得可能吗?" 接上一篇< ...

最新文章

  1. Windows Server入门系列38 访问网络共享
  2. 面试:给我说一下Spring MVC拦截器的原理?
  3. react native的页面整体下拉刷新
  4. MySQL5.6开启慢查询
  5. java怎么写算法_关于读写锁算法的Java实现及思考
  6. 【第二届】Erlang Fans交流会(补充事宜)
  7. ValueError matplotlib display text must have all code points 128 or use Unicode strings
  8. 清除浮动塌陷的4种经典套路
  9. 修复版易支付源码可运营
  10. Visual Studio、.NET Framework、VC++、C#各个版本的对应关系
  11. 书单|阅读让人越来越低
  12. 【回归预测】基于matlab麻雀搜索算法优化CNN回归预测【含Matlab源码 282期】
  13. Spring Security简介和认识
  14. cmd命令结束端口进程
  15. 微信小程序实现抽奖大转盘
  16. 11位大咖集结!和最专业的人,探讨“由内及外”的未来趋势 | 生辉 · 生命科学大会-1
  17. 硬回车、软回车、java转义字符
  18. 【三级等保】三级等保服务费用一年大概要多少?一年需要测评一次嘛?
  19. 激活windows系列地址
  20. 囚徒困境困境_社会困境我们主演的恐怖电影

热门文章

  1. JavaScript定时调用函数(SetInterval与setTimeout)
  2. The RSpec Book笔记《一》初步认识TDD,BDD,RSpec,Cucumber
  3. 大叔手记(16):分析URL Routing和URL Rewriting两者之间的不同
  4. Github远程推送一直Everything up-to-date
  5. 依赖注入(DI)和Ninject,Ninject
  6. 在Excel中制作复合饼图
  7. 【转】编程思想之消息机制
  8. Android第二十五期 - 猜歌小游戏
  9. 敏捷个人手机应用:如何使用时中法目标
  10. 关于code reiview