-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
增加对 lambda 表达式的支持 #5594
增加对 lambda 表达式的支持 #5594
Conversation
感谢,方案是可行的,但感觉registerLambdaCapturingClass还是由用户控制会好点,一般把controller和service登记上的人会多点,如果都依靠自定义注解注册的话,到时标记的注解太多了,这个我先更新至示例里面,后面看看方案改进. |
嗯,你们看咯,由于AOT破坏了代码的一致性,这个是我能想到最傻瓜,也最容易的方式,以前redis AOT bean的问题我是写了一个工具类每次发布的时候重新生成下引用,但是太容易忘记,导致redis报错,所有的controller和service标记上会增加点内存但是不会很多。 |
mybatis-plus-extension/src/main/java/com/baomidou/mybatisplus/extension/aot/AotUtils.java
Show resolved
Hide resolved
我也遇到了lambda表达式支持问题,感谢@z744489075提供思路,我优化了一下直接改成了不要注解形式的扫描,然后注册进去
我目前已经用在我项目中了,非常棒 |
参数忘记给了,需要在native-image编译时添加spring相关类的参数,否则会造成编译失败
以下这个是我完整配置
|
非常棒,问题解决 |
你好,我通过这种方式后打包,所有注册的类都提示我 SysUserServiceImpl was unintentionally initialized at build time |
试下在buildArgs标签下增加--initialize-at-build-time=xx.xx.xx.SysUserServiceImpl(完全限定名),将涉及到的类都加上 |
感谢,因为我同时扫描了 service和 mapper类较多,我猜测Spring提供的扫描类可能中间某些因为某些注解或操作无意初始化了类,所以我尝试使用其他扫描工具类解决了这个问题
同时需要在buildArgs标签下增加
|
该Pull Request关联的Issue
#5527 (comment)
修改描述
增加对 lambda 表达式的支持
1.在使用了lambda 的类上增加注解 @GraalReflectionAotHints
2.增加graal Feature
3.在pom.xml 文件增加 Feature,灵魂是这一句 --features=com.maishi.common.config.LambdaRegistrationFeature
其他就不说了.该咋样就咋样