
java技术
文章平均质量分 61
FoxMale007
大部分人都不缺乏做梦的能力,缺乏的是把梦变成现实的能力。
【申明】所有文章均为纯原创。本人未设置任何VIP才可见正文,如果有VIP可见,为系统私自调整,请评论或私信联系我更改
展开
-
Python3与Dubbo3.1通讯解决方案(dubbo-python)
最近AI项目需要java与python通讯,两边都是比较新的版本。因此需要双方进行通讯,在这里记录一下所采用的方案和关键点。原创 2025-05-04 19:34:02 · 1162 阅读 · 0 评论 -
简化mybatis @Select IN条件的编写
最近从JPA切换到Mybatis,使用无XML配置,@Select注解直接写到interface上,发现IN条件的编写相当麻烦。实现简化的处理原创 2024-07-24 16:33:29 · 1311 阅读 · 0 评论 -
更改java jar时,It has been compressed and nested jar files must be stored without compression问题的解决
It has been compressed and nested jar files must be stored without compression问题的解决原创 2024-05-21 17:21:29 · 1444 阅读 · 1 评论 -
AutoTable, Hibernate自动建立表替代方案
之前一直使用JPA为主要ORM技术栈,主要是因为Mybatis没有实体逆向建表功能。虽然Mybatis有从数据库建立实体,但是实际应用却没那么美好:当实体变更时,往往不会单独再建立一个数据库重新生成表,然后把表再逆向为实体。最终的结果往往是维护一份数据库SQL,再同时维护一份实体对象,两者没有自动建立关联。AutoTable方案解决了这个问题原创 2024-05-05 22:47:18 · 1096 阅读 · 2 评论 -
Activiti7 开发快速入门【2024版】
记录开发最核心的部分,理论结合业务实操减少废话,从未接触工作流快速带入开发。假设你是后端的同学学过JAVA和流程图,则可以继续向后看,否则先把基础课程书准备好先翻翻。原创 2024-04-28 23:55:38 · 1314 阅读 · 0 评论 -
UUID转25位SN压缩算法,排除印刷码混淆字符
分享一个自己写的UUID转25位SN编码的算法原创 2024-04-20 15:51:08 · 253 阅读 · 0 评论 -
DBUnit增强:填充随机数据和相对时间数据
测试环境验证时,遇到与当前相对时间相关的测试吗?准备一份SQL?隔一段时间就不能用了。每过一段时间去更新脚本或重置系统时间?看上去也不是很合适的解决方案。如果你遇到和我一样的问题,可以看下本人使用的这个解决方案原创 2024-04-18 16:55:02 · 538 阅读 · 0 评论 -
ccframe系统的链路追踪,用户ID追踪的实现
之前ccframe cloud V1用的是springcloud微服务,只需要在header将jwttoken一直传下去就没事,最近弄V2转dubbo发现用户id没有自动保存进数据库表。于是开始研究dubbo如何追踪,顺便把链路追踪ID的问题给一并解决掉原创 2024-04-13 09:06:15 · 856 阅读 · 0 评论 -
springboot整合Dubbo异常和多语言处理
Ccframe采用标准的spring data i18n方案。在处理多语言异常时,做了一些针对性的处理。包括以下几个方面:原创 2024-03-15 23:47:20 · 827 阅读 · 0 评论 -
JustAuth扩展:支持自动获得回调域名、使用redission作为Cache
JustAuth两个功能扩展:1)JustAuth默认使用sping-data-redis作为缓存接口,当前系统没有使用该redis驱动,由于已经使用了redission,不希望引入更多的架构。故需要扩展JustAuthCache接口2)JustAuth配置的登录回调地址必须写完整的域名。本着从哪里来,回哪里去的原则,回调的域名地址,95%需求都会跟请求的域名地址一致。这样只需要在请求时获得请求的域名地址即可,不用在配置文件里额外配置。让配置文件的redirect-uri真正成为URI而不是URL原创 2024-03-10 13:10:03 · 752 阅读 · 0 评论 -
Gradle多模块实践:dependencies的模组化导入
虽然maven和gradle能够自动处理依赖,但是觉得还不够。当java引入一个新组件时。如果全部引入,则会导致引入过多的jar;如果指定组件的各个模块,又需要逐条引入,尤其当需要其它模块支持时,当子模块多了后维护困难。我希望像POM那样,指定一个文件则引入了需要的一组组件。而且不用单独书写一个pom,因为一来每个模块要单独文件管理,二来不方便统一管理。于是寻找gradle脚本grovvy的实现方式。通过数小时的折腾,终于解决该问题。这样我们可以把多个组件引入的包定义为一个列表,需要时按列表名引入原创 2024-03-07 19:40:55 · 787 阅读 · 0 评论 -
因implements Interface书写顺序导致的Dubbo翻车实录
因implements Interface书写顺序导致的Dubbo翻车实录原创 2024-03-06 03:39:55 · 369 阅读 · 0 评论 -
MINIO自动创建bucket【Java】
刚整合完x-file-storage,发现之前写了一个自动创建minio bucket的代码。放到博客文章,以免以后找不到了。原创 2024-03-03 21:49:09 · 582 阅读 · 0 评论 -
OPENWRT本地局域网模拟域名多IP
本地配置MINIO服务时,会遇到域名多IP的需求。当某一个节点失效时,可以通过域名访问平滑过渡到其它的节点继续服务原创 2024-03-03 18:56:09 · 760 阅读 · 0 评论 -
为什么SpringBoot中Class.forName的类与引入组件(Jar包)用Class.forName得出的class不同
为什么SpringBoot中Class.forName的类与引入组件(Jar包)用Class.forName得出的class不同原创 2024-02-29 14:43:17 · 464 阅读 · 0 评论 -
zxing包引入后的编译错 dependencyManagement.dependencies.dependency.systemPath
springboot引入zxing后'dependencyManagement.dependencies.dependency.systemPath' for com.google.android:android:jar must specify an absolute path编译提示解决原创 2024-02-28 12:43:58 · 564 阅读 · 0 评论 -
JExcelWriter 基于模板填充的EXCEL导出,远离用代码调整样式的噩梦
JExcelWriter介绍基于EXCEL模板填充和XPATH数据规则的EXCEL导出工具使用模板导出的好处输出方便 能够灵活的组织对象结构基于XPATH语法 使用方便,简单易懂,W3C规范 查阅文档调整格式简单 设置行宽、设置行高、背景色、加粗加深,这些代码噩梦统统解决。您只需要拖拖拽拽,把格式定好即可。表头、统计行、表尾,一切都SO SEAY~使用步骤STEP1建立好你自己的EXCEL模板,各种格式,样式,间距STEP2将你要动态输出的部分,使用{=<原创 2021-04-22 22:45:06 · 622 阅读 · 0 评论 -
ES value source config is invalid 错误解决
今天写ES的聚合查询,遇到的value source config is invalid; must have either a field context or a script or marked as unwrapped的问题,记录一下,是因为忘记指定返回字段的别名了builder.addAggregation(AggregationBuilders.terms(Order.PLATFORM_ID).subAggregation(AggregationBuilders.sum(Or..原创 2021-04-20 11:54:33 · 2962 阅读 · 0 评论 -
quartz @DisallowConcurrentExecution无法禁止多机并发的解决方法
本次遇到这个问题是这样一个场景,某些计算需要较长的时间,并且监控的周期会比较短。每3S监控一次,且执行周期最长已经达到5S,由于定时任务执行逻辑下一次依赖上一次的结果,因此如果并发的情况下,会导致计算错误。在开发单个节点的时候,没有问题,当部署了多个执行阶段的时候,任务被并发的执行了。好了,现在的问题是。DisallowConcurrentExecution没有做到真正的多机非并发执行!解决方案是,增加分布式锁。为了不增加架构复杂度,直接引入了redisson红锁来进行处理。增加了BaseQuart原创 2020-12-30 12:15:19 · 6576 阅读 · 12 评论 -
SpringData Elasticsearch 方法名查询默认查询10条的问题
使用方法名来构建查询,曾经一直使用的好好的,突然有发现查询出来的记录不符合了。怎么查询也只有10条匹配,突然想到可能ES查询引擎本身的限制,一查果然是。https://knowledgebase.progress.com/articles/Article/ElasticSearch-returns-only-the-first-10-resultshttps://www.elastic.co/guide/en/elasticsearch/reference/6.3/search-request-fr原创 2020-10-11 14:35:28 · 3088 阅读 · 0 评论 -
Spring Scheduled业务向quartz无缝迁移
场景对于单机模式,spring Scheduled能够很方便的解决我们定时任务的问题。但是在集群(微服务)模式下,就不能使用单机的模式了,因为某些任务,是不可重复执行的。例如每月一次的月报统计,又例如定时向日志分析系统推送今天的本地日志,等等。功能目标我们希望按照以下的标准完成我们的迁移能够尽量不要调整业务代码,最好只需要Ctrl+CV即可完成调整 能够适配集群的工作模式分析问题根据以上目标,下一步会遇到一些问题:你需要几台服务器来运行你的定时任务 如何实现quartz的自动配原创 2020-09-22 11:54:20 · 495 阅读 · 0 评论 -
一句话解决Thumbnails缩略图工具PNG透明背景缩放后变黑问题
注意加红色的部分: Builder<BufferedImage> builder = Thumbnails.of(sourceImage).imageType(BufferedImage.TYPE_INT_ARGB).forceSize(width, height); builder.outputFormat("png").toFile...原创 2019-03-22 10:30:52 · 4532 阅读 · 0 评论 -
EROS/Weex WEBVIEW 在APP和WEB下字体大小不一致问题
Weex webview模块解决了html公告一类的问题,如果纯APP问题还不大。当多端统一开发时,会发现在不同的终端下,布局不一致了。尤其是使用rem的自适应大小。前端向朔的文章指出了这个问题。https://blog.csdn.net/u013778905/article/details/77972841我们采用方法3来处理。对应WEEX的模块是修改WXWebView.jav...原创 2019-03-13 18:13:14 · 570 阅读 · 0 评论 -
WEEX 0.18 版本 input输入框组件 在安卓下input事件BUG原理及分析
最近捣鼓EROS框架,使用的是WEEX 0.18版本sdk。WEEX 0.18 版本的 input 尚存在BUG,表现为当使用v-model绑定值时,还原到绑定值原始状态时,无法触发input事件,此时还影响到v-model的绑定。 拿官方的例子:<input type="text" placeholder="Input Text" class="input" :autof...原创 2019-01-25 21:41:29 · 1715 阅读 · 0 评论 -
Spring 5.X WEB-MVC支持JSON忽略NULL属性的配置
最近研究EROS两端统一(WEB+Android),发现WEB端axios和bmAxios的处理方式不一致。这个将导致迁移后所有的null逻辑和undefined逻辑互换,为了避免这个业务问题,必须都统一起来。由于bmAxios包括WEEX底层都是使用fastjson做的JSON序列化,而fastjson默认的JSONObject又是忽略null属性的,导致和WEB的axios处理不一致。权衡...原创 2019-01-10 21:58:11 · 488 阅读 · 0 评论 -
Eros开发框架自动路由配置的实现
弄过两个EROS项目,每次配置路由上总是有多多少少的差错,这次又要上一个页面较多的项目,下决心要把自动路由整一下,解放手动配置,“懒”出点新的高度。EROS项目配置甚是麻烦,vue-router每添加个页面配置一次就罢了。EROS框架得要配置两次,分别是:webpack打包配置——该配置在项目的confing/eros.dev.js,指定了哪些文件打包入bundle,如果没打包成功,您会得...原创 2019-01-03 20:21:26 · 757 阅读 · 0 评论 -
subclipse插件无法比较javascript文件的解决方案
subclipse插件比较javascript文件版本信息时,在部分机器会出现无法比较的情况,解决方案如下:把这个勾选去掉,就可以了。去掉勾选* Window > Preferences > Compare/Patch > General Tab* uncheck "Open structure compare automatically"被这个问题坑了一...原创 2018-12-20 23:22:35 · 366 阅读 · 2 评论 -
GXT3.X的CheckBoxListView
最新处理项目需要使用带勾选的列表,但是GXT3已经去掉了这个类,一看Sencha的官方论坛,尼玛居然要收费。于是自己DIY了一个,简单几行代码,方便好用。STEP1.定义一个用于列表的类,由于我的选择一般是以ID为关键选择数据的,因此定义了一个LabelValue类:import com.flipthebird.gwthashcodeequals.EqualsBuilder;/**...原创 2018-09-06 09:33:23 · 288 阅读 · 0 评论 -
[杂记]Weixin4j-server处理模式
maven上比较老牌的JAVA微信组件。com.foxinmy.weixin4j版本(gradle): api 'com.foxinmy:weixin4j-base:1.8.2' api 'com.foxinmy:weixin4j-mp:1.8.2' api 'com.foxinmy:weixin4j-server:1.1.9' 最近使用它的服务组件,顺便大概过了...原创 2018-08-13 16:32:47 · 367 阅读 · 0 评论 -
JAVA 操作防抖(非RxJava方案)
JAVA 操作防抖,在手机网络状态变化时发生了重复调用,因此需要进行防抖。本打算用RxJava方案的,发现没必要那么麻烦,就找了个现成的类修改了下,发现确实还比较好用,代码如下。package com.xxx.xxx;import java.util.concurrent.ConcurrentHashMap;import java.util.concurrent.Executors;imp...原创 2018-07-14 11:02:26 · 2120 阅读 · 0 评论 -
Eclipse的CodeMix是个好东西,可惜现在的版本有个严重的BUG
安装完codemix后,vue也可以编写了。但是我的项目的编译永远不会停止,MYGOD。。。我的机器看了下网上的文章,说可能和maven什么的冲突,可我用的是gradle啊https://www.genuitec.com/forums/topic/myeclipse-professional-stackoverflow-building-workspace/将自动编译关掉后,貌似正常了,鱼与熊掌不...原创 2018-04-26 17:20:17 · 22796 阅读 · 2 评论 -
lmax.disruptor高效内存消息队列spring整合
一种基于spring的lmax.disruptor快速开发模板原创 2017-12-13 11:18:38 · 3594 阅读 · 8 评论 -
Spring-data +elasticsearch 2.4.4 整合搭建指南
博客被黑,天杀的把我置顶的精华文章给干掉了。幸好有人复制了此文,以得部分恢复。现在Spring-data 2.0.1已经release了,等有空升级至spring-data 2.0版本。Spring-data +elasticsearch 2.4.4 整合搭建指南最后更新: 17-3-241. 简介spring data是一个统一包括数据库系统和NoSQL数据存原创 2017-11-17 22:20:37 · 1755 阅读 · 0 评论 -
webpack hotreplace取消webstorm的自动保存,修改为手动保存
最新用webstorm开发react,webpack热部署能自动检测文件,但是webstorm这个“聪明”的自动保存是帮了倒忙了。每次写到一半切换出去看点文章再回来,就自动保存,导致页面刷新失败了,很是蛋疼,于是得关闭掉自动保存,免得自动保存来对热更新瞎捣乱。文章如下:作者:枫影链接:https://www.zhihu.com/question/30164835/answe转载 2017-03-02 10:24:10 · 5825 阅读 · 1 评论 -
使用Redux DevTools浏览器插件调试redux
使用Redux DevTools浏览器插件调试redux与redux的Devtools模块不同,该工具主要依赖浏览器插件完成。模式也比Devtools简单点。step1 下载插件Chrome地址(360极速模式也可以用): https://chrome.google.com/webstore/detail/redux-devtools/lmhkpmbekcpmknklioeibfkpmmfiblj原创 2017-02-08 02:05:32 · 27999 阅读 · 0 评论 -
吐个槽 Spring Data Elasticsearch 3.0M1还不支持Elasticsearch 5.X
Spring Data Elasticsearch的最新版本还是不支持5.1.1,本以为只是初始化的地方不一样,结果修改了一部分,发现jpa的支持实现全都变了,只好放弃,白整合了一个上午。拿最新3.0的snapshot都不支持。结果还是回到ES2.6版本,Spring Data组织不给力啊!只能继续等了。。。。原创 2017-01-12 17:00:49 · 3946 阅读 · 6 评论 -
一张图让你秒懂Spring @Scheduled定时任务的fixedRate,fixedDelay,cron执行差异
看字面意思容易理解,但是任务执行长度超过周期会怎样呢?不多说,直接上图:测试代码:import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import org.springframework.scheduling.annotation.Scheduled;im原创 2016-09-01 15:30:40 · 40906 阅读 · 9 评论 -
SVNKit模式下svn working copy locked的问题
SVNKit模式下,当提交到一半关闭时,是无法通过常规的方式清除lock的,因为压根就没有lock文件。如果要清理,需要使用SQLite管理工具,打开.svn目录下的wc.db,然后执行语句:delete * from WC_LOCKSVNKit模式还真恶心。。。原创 2016-08-10 22:18:06 · 641 阅读 · 2 评论 -
eclipse在高分屏下的DPI调整方案
eclipse在高分屏下的DPI调整方案翻译 2016-05-20 00:55:59 · 9704 阅读 · 4 评论 -
ORMLite反向重置数据库表
如果是Hibernate,反向生成数据库大家肯定会想到hbm2ddl,但是ORMLite呢?ORMLite虽然提供了按照对象来反向生成表的方法,但还不够。因为我希望.新增一个表,不要额外单独写创建表、删除表的操作。因此想到了Spring的packagesToScan,不过暂未深究Spring,只好找了个现成的类。实现非子目录的扫描:import java.io.File;import j原创 2014-03-15 12:20:42 · 1990 阅读 · 0 评论