介绍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低代码应用平台体验