前言 Graalvm通过静态分析提前编译来为Java应用程序构建高度优化的本机可执行文件,这就需要在编译时就知道所有的程序类型,而java中的反射、动态代理等功能,在编译时不确定具体的类型,所以在使用GraalVm构建native image前需要通过配置列出反射可见的所有类型。反射的配置是一个json格式的文件。为了简化这种反射的配置,GraalVm提供agentlib工具,来辅助生成这个配置文件 Quarkus技术...
Quarkus改造Pmml模型项目异常记录(16)
前言 这个项目是一个PMML模型跑分系统,在使用quarkus架构对其改造的过程中,在加载PMML模型时,抛了一个异常,在网上找了很多资料都没有解决,pmml项目的issue中也没有找到相关的内容,故在此记录下,给遇到问题的你做个参考 Quarkus技术交流QQ群:871808563 jpmml-evaluator: https://github.com/jpmml/jpmml-evaluator 异常如下: java.lang.LinkageError: loader constraint violation: when resolving field \"DATETIME\" of type j...
Quarkus之Resteasy的文件上传、下载操作(15)
前言 做java web开发,文件的上传和下载是一个非常常见的需求场景。在spring生态下的文件上传下载非常简单,记得五年前,我刚写博的时候也写过spring的上传和下载 《SpringMvc实现文件上传与下载 》 ,以及Struts2的文件上传和下载 《java Struts2实现文件上传下载》 。今天来看看Quarkus框架中是如何实现的,因为Quarkus的JAX-RS采用Resteasy的实现,故Quarkus中的文件上传和下载,也就是Resteasy框架...
Quarkus的Spring扩展,快速改造Spring项目(14)
前言 博主上个礼拜,已经实现了quarkus的native image应用的上线,经过两天的监控下来,一切运行指标良好,就是内存升到了100M了,这个后续继续跟进观察。今天聊点老的spring应用改造成quarkus的问题。一个新的框架是否可以顺利的在一个公司落地,除了本身优秀的设计和优异的性能外,框架的生态和上手的难度以及对现有框架的兼容性都是非常重要的考量因素,在quarkus之前,使用最广...
第一个Quarkus+GraalVM架构的应用上线了(13)
前言 经过两周的不懈努力,博主的第一个以Quarkus+GraalVm的业务应用终于上线了,下面是可喜可贺的数据,邀君共赏。阿里牛逼是有道理的,人家的应用早就能够以如此的性能运行了,之前一直不相信,1分钟弹性伸缩扩容200+的实例,现在我信了 Quarkus技术交流QQ群:871808563 Quarkus版本:1.7.0.CR1 启动时间 资源占用 ...
Quarkus集成redis,与Redisson数据互通(12)
前言 博主所在公司大量使用了redis缓存,redis客户端用的Redisson。在Quarkus集成redis时,博主尝试使用Redisson客户端直接集成,发现,在jvm模式下运行quarkus没点问题,但是在打native image时,就报错了,尝试了很多方式都是莫名其妙的异常。最后决定采用quarkus官方的redis客户端,但是Redisson客户端数据序列化方式是特有的,不是简单的String,所以quarkus中的redis需要操作Redisson的数据,就要保...