apama学习笔记

名词解释

基础组件

  1. Application 一个Apama应用程序有一个或多个monitor、一个或多个query组成
  2. Package 类似java中的package
  3. Context 可以将EPL应用加载到多个线程中执行。
  •      创建context时,是启动了一个线程池,还是启动一个线程
  •      如何销毁context

4. Monitor 

 既可以有数据也可以有逻辑,可以接受和发送事件,定义在.mon文件中

在monitor中可以创建多个context

monitor中不能包括query

5.Query 查询是程序执行的基本单元,他可以根据pattern对传入的事件进行分区,独立处理每个分区中的事件。

  定义在.qry文件中,在query中不能创建context,apama自动使用多个context来处理查询

  查询不能包括monitor

6.Channel
  monitor和reciver可以通过Channel订阅事件,适配器客户端配置可以指定要交付的通道事件。在EPL中,可以将事件发送到指定的通道。查询不订阅频道

7.Event

事件是一个数据对象。所有事件都有一个事件类型和事件字段的有序集合。事件类型也可以是否有零个或多个定义的事件操作操作事件字段。

数据类型

基本类型:boolean, decimal, float

引用类型:action,Channel, chunk, context, dictionary, event,Exception, listener, location, optional, sequence,StackTraceElement, stream, string. Also, monitor is a very limited pseudo-type.
 

listener:定义一个event Listener或streamListener 并赋值给listener定义的变量,通过调用quit来从容器中移除listener事件

action:
context:一个context的引用,可以使容器并发执行

stream:一个流对象的引用,可以存储任何apama对象,只能存储同一种对象。流是monitor的内部流。

Channel:An EPL type that contains a string or a context. A contained string is the name of a channel. A contained
context lets you send an event to that context. Defined inthe com.apama namespace.

Exception:程序的运行时异常 com.apama

StackTraceElement:程序的堆栈信息

monitor:

Monitor name  :每个monitor都有一个名字,可以用来从容器中删除monitor

monitor instance:实例.当容器加载monitor时会创建实例,之后的monitor实例通过spawns创建,并称为sub_monitor

sub_monitor:子实例,monitor实例称为子monitor
 

Query

Query Name:每个Query都有一个名字,可以用来从容器中删除Query

Query instance:

当容器加载非参数化的查询时,会创建一个查询实例。

当容器加载参数化的查询时,不会创建查询实例,知道提供参数时,才会创建实例

一个有参数的query可以多次通过参数实例化

Query key

一个key识别一个或多个event中的字段,that查询指定为输入事件类型
每个查询输入事件类型必须指定相同的key

Query partition:一个分区包含一组事件,所有的事件的key必须相同,一个或多个窗口包含添加到每个分区的事件。

Event:pass

Listeners:
Event listener: In monitors, 用户定义监听器. In queries, 容器自己定义监听器 on statement定义event Listener

Stream listener:
from statement :定义streamListener

Listener action :监听器的action可以是语句或者块

Listener handler:监听器句柄:可以用来删除(quit)监听器

Event template:事件模板,指定监听的事件类型或事件的字段值

Event operator:事件操作,关系运算符、逻辑运算符或时态运算符 事件模板,并在事件表达式中指定

Event expression:事件表达式,标识一个事件或匹配事件。


Stream query  :在monitor中定义,一个流查询应用于1个或两个streams,一个流查询输出为一个连续stream,

流查询和Apama查询是一个完全不同的结构

Stream source template 流源模板,

Stream network 网络流源模板,流,流查询和流侦听器。上游元素流入下游元素产生派生、增值物品。

Activation:由于时间的推移或物品的到达而引起的流网络 处理流中的元素

注意事项

  1. 不可以在com.apama包中定义结构体,这个包为apama系统包。

 

容器接收事件的几种方式:

  1. 使用Software AG Designer从文件中发送事件
  2. 从适配器接收来自外部源的事件。Apama适配器将事件从非Apama格式转换为Apama格式。
  3. 运行Apama engine_send实用程序手动将事件发送到相关器
  4.  monitor或query在容器中生成事件。
  5. 您可以使用C、c++、Java或.NET编写使用Apama客户机API的应用程序将事件发送到相关器。

事件发送的注意事项:

  1. 当event中包含context字段时,不能将事件发送到容器外,但是可以在monitor间发送
  2. 当event中包含chunk , listener and stream 字段时,只能在创建它的monitor中使用,此事件不能send。
  3. 如果事件包含chunk , listener and stream ,则无法侦听该事件。
  4. wildcard 当字段不会在匹配事件的时候使用时,使用wildcard修饰,可以提高性能,减少内存
  5. 一个event对多包含32个索引字段,一个location占用两个索引字段
  6. constant的类型为is boolean,decimal, float, integer, or string,必须赋初始值

事件定义初始化

event StockTick {
string name;
float price;
}
StockTick("ACME", 55.20)

事件的通用函数

canParse(string),判读是否可以通过字符串转化为事件,return boolean
parse(string)
isExternal() 判断事件是否为外部事件;True为外部事件
clone() 事件的克隆,深克隆,引用对象也会克隆,如果有field指向自己则不会克隆。
getFieldNames() 获取事件的成员变量名 return sequence <string>
getFieldValues() 获取事件对象的成员变量值 return sequence <string>
getName() 获取事件的名称
getTime() 19700101的之后的秒数
toString()

 event可以定义在monitor文件中,但是这个event只能被当前monitor使用。并且不能从外部发送到容器。

       事件必须定义在monitor之前,

       可以使用此类型事件的monitor:

            a.evnet事件所在文件中定义的monitor

            b.在此文件之后注入容器的monitor

    2 .可以在一个mon文件中定义多个事件

 

Apama服务监控

  1. DataView Service 向仪表板公开只读数据。这些数据来自EPL和Java应用程序
  2. Password Service  支持从特定于实现的提供者检索密码
  3. Scenario Service 为所有基于场景的应用程序提供支持
  4. ADBC Adapter 在Software AG Designer中与Apama的数据播放器一起提供事件捕获和回放。
    还监视Java数据库连接(JDBC)和开放数据库连接(ODBC)
  5. IAF Status Manager  监视与适配器的连接

预定义注释 annotations

标签使用的位置

  1. Monitor declarations
  2. Event declarations
  3. Fields of events
  4. Actions in monitors or event definitions
     
apama内置注解
名称参数描述
SideEffectFreeNONEcom.apama.epl package
 
OutOfOrderNonecom.apama.queries package
 
TimeFromstringcom.apama.queries package
 
Heartbeatstring

com.apama.queries package

It tells the query runtime the default
heartbeat event type to use

DefaultWaitstring

com.apama.queries package

 

 

 

 

 

 

 

 

 

1.ApamaDesigner

1.designer JDK版本

  1 . 打开本地的 Designer 安装路径,并找到eclipse.ini文件:
         Software AG_directory\Designer\eclipse\eclipse.ini
  2.用文本编辑器打开
  3. 修改-vm参数的配置项
  4. 保存文件并重启Designer

2.内存监视器的开启和关闭

 Window > Preferences,
 selecting the General entry, and selecting the Show heap status option.
 

3.调整Designer内存设置

1. Locate the following file in your Designer installation:
Software AG_directory\Designer\eclipse\eclipse.ini
2. Open the file in a text editor.
3. Locate the -Xmx parameter and modify it as required:
For systems with 1 GB or less of memory, set -Xmx=512m
For systems with more than 1 GB of memory, set -Xmx=1024m
4. Ensure that the value for -Xms is less than the value for -Xmx.
5. Save the file and restart Designer.

 


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值