介绍Function相关元数据,以及对应代码注解方式。大家还是可以通读下,以备不时之需
如您还不了解Function的定义,可以先看下2.3【oinone独特之源,元数据与设计原则】对Function的描述,本节主要带大家了解Function元数据构成,能让小伙伴非常清楚oinone从哪些维度来描述Function,
一、元数据说明
FunctionDefinition
元素数据构成 | 含义 | 对应注解 | 备注 |
---|---|---|---|
namespace | 函数命名空间 | @Fun("") @Model.model("") | @Fun或@Model.model |
name | 技术名称 | @Function( name=””, scene={}, summary=””, openLevel=FunctionOpenEnum.REMOTE ) |
|
scene | 可用场景 | 见:FunctionSceneEnum | |
description | 描述 | ||
openLevel | 开放级别 | 见:FunctionOpenEnum | |
fun | 编码 | @Function.fun("") | |
displayName | 显示名称 | @Function.Advanced( displayName=””, type=FunctionTypeEnum.UPDATE, dataManager=false, language=FunctionLanguageEnum.JAVA, isBuiltin=false, category=FunctionCategoryEnum.OTHER, group=”pamirs”, version=”1.0.0″, timeout=5000, retries=0, isLongPolling=false, longPollingKey=”userId” longPollingTimeout=1 ) |
|
type | 函数类型默认:4(改) | 见 FunctionTypeEnum | |
dataManager | 数据管理器函数默认:false | ||
language | 函数语言默认:DSL | 见FunctionLanguageEnum | |
isBuiltin | 是否内置函数 默认:false | ||
category | 分类 默认:OTHER | 见:FunctionCategoryEnum | |
group | 系统分组 默认:pamirs | ||
version | 系统版本 默认:1.0.0 | ||
timeout | 超时时间 默认:5000 | ||
retries | 重试次数 默认:0 | ||
isLongPolling | 是否支持long polling,默认false | ||
longPollingKey | 支持从上下文中获取字段作为key | ||
longPollingTimeout | long polling超时时间 默认值为1 | ||
transactionConfig | 事务配置 JSON存储 | 见TransactionConfig 配置@PamirsTransactional | |
source | 来源 | 系统推断值,见:FunctionSourceEnum | |
extPointList | 函数包含扩展点 | 系统推断值 | |
module | 所属模块 | 系统推断值 | |
bitOptions | 位 | 系统推断值 | |
attributes | 属性 | 系统推断值 | |
imports | 上下文引用 | 系统推断值 | |
context | 上下文变量 | 系统推断值 | |
codes | 函数内容 | 系统推断值 | |
beanName | bean名称 | 系统推断值 | |
rule | 前端规则 | 系统推断值,一般Action.rule传递下来的 | |
clazz | 函数位置 | 系统推断值 | |
method | 函数方法 | 系统推断值 | |
argumentList | 函数参数 | 系统推断值,List<Argument> | |
returnType | 返回值类型 | 系统推断值 |
TransactionConfig
函数事务管理之配置项事务,具体事务使用详见4.1.8【函数之事务管理】一文。
元素数据构成 | 含义 | 对应注解 | 备注 |
---|---|---|---|
transactionManager | 事务管理器 | @PamirsTransactional( transactionManager=””, enableXa=false, isolation=Isolation.DEFAULT, propagation=Propagation.REQUIRED, timeout=-1, readOnly=false, rollbackFor={}, rollbackForClassName={}, noRollbackFor={}, noRollbackForClassName={}, rollbackForExpCode={}, noRollbackForExpCode={} ) |
|
enableXa | 分布式事务默认为false | ||
isolation | 事务隔离级别 | ||
propagation | 事务传递类型 | ||
timeout | 过期时间 默认:-1 | ||
readOnly | 只读 默认:false | ||
rollbackForExpCode | 回滚异常编码 | ||
rollbackForExpCode | 忽略异常编码 | ||
namespace | 函数命名空间 | 系统推断值 | |
fun | 函数编码 | 系统推断值 | |
active | 生效 默认为true | 系统推断值 |
二、元数据,在Java中对应的注解类说明
命名空间注解
Fun
@Fun 函数申明
└── value 命名空间
Model
@Model
└── model 命名空间
函数信息注解
Function
@Function
├── name 技术名称
├── scene 可用场景
├── summary 描述摘要
├── openLevel 开放级别
├── Advanced 更多配置
│ ├── displayName 显示名称
│ ├── type 函数类型,默认 FunctionTypeEnum.UPDATE
│ ├── managed 数据管理器函数,默认false
│ ├── language 语言,默认 FunctionLanguageEnum.JAVA
│ ├── builtin 是否内置函数,默认否
│ ├── category 分类,FunctionCategoryEnum.OTHER
│ ├── group 系统分组,默认:pamirs
│ ├── version 系统版本, 默认:1.0.0
│ ├── timeout 超时时间,默认:5000
│ ├── retries 重试次数,默认:0
│ ├── isLongPolling 是否支持long polling ,默认false
│ ├── longPollingKey 支持从上下文中获取字段作为key,默认 userId
│ └── longPollingTimeout long polling超时时间,默认值为1
└── fun
└──value
函数事务管理注解
PamirsTransactional
@PamirsTransactional
├── value @AliasFor("transactionManager")
├── transactionManager @AliasFor("value") 默认值:""
├── propagation 事务传递类型 默认值:Propagation.REQUIRED
├── isolation 事务隔离级别 默认值:Isolation.DEFAULT
├── timeout 过期时间默认:-1
├── readOnly 只读 默认:false
├── rollbackFor 回滚异常类
├── rollbackForClassName 回滚异常类名
├── rollbackForExpCode 回滚异常编码
├── noRollbackFor 忽略异常类
├── noRollbackForClassName 忽略异常类名
├── noRollbackForExpCode 忽略异常编码
└── enableXa 分布式事务 默认为false
Oinone社区 作者:史, 昂原创文章,如若转载,请注明出处:https://doc.oinone.top/oio4/9282.html
访问Oinone官网:https://www.oinone.top获取数式Oinone低代码应用平台体验