AviatorFunction局限性Expression .getName 获取表达式名称是无法获取到的Aviator的局限性

本文探讨了Aviator表达式框架在获取自定义表达式名称方面的局限性,指出Aviator的getName方法返回线程名称而非表达式本身名称。由于接口定义和实现的限制,无法直接获取表达式参数,这给规则管理和维护带来了挑战。尝试通过断点和重写Expression未果,揭示了Aviator在此功能上的不足。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

规则其中的一些局限性,不能直接的获取到自定义表达式名称

一般的调用流程如下

断点可以看到的效果

原因:表达式的接口定义

实现类里面没有我们需要的方法调用

表达式参数都被保护起来了

断点尝试,也不可以获取到这个类型数值


前言:

主要是在后来规则越来越多,导致了维护性特别差劲,所以希望能够根据表达式的名称来进行入参控制,然后能够获取到表达式的规则,定位到符合的规则,以及符合哪一些常量。目前的架构只能够获取到符不符合表达式,可是针对的表达式里面的参数,有很多,比如不符合160个正则里面我要找到不符合的确定是哪一个。这个需要定位返回出来的,而不是直接的定位排查到,需要表达式名称,方案1,我配置规则针对表达式名称如此那的时候Map入参,然后表达式里面进行逻辑分析判断。然后这样可以更为精准的控制到入参和出参的配置化。目前查边所有的文档以及跟踪代码逻辑,根本就没有有获取到表达式名称的方法调用,这应该就是Aviator表达式的一个局限性吧!

Aviator名称是无解的只能外面先声明还然后最后表达式里面使用声明获取入参

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦思冥想行则将至

穷,有钱的大爷上个两分钱吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值