Flyway migrate晚于JPA建表语句

Spring Boot下通过EntityManagerFactoryDependsOnPostProcessor来确保Flyway的初始化执行晚于JPA。但是有时候我们会希望由JPA完成表结构的维护,Flyway用来修数据、基础数据的维护。这个时候如果flyway执行早于JPA的表结构维护,可能会导致表或字段不存在的异常。 所...

Java多线程并发操作ArrayList

给公司一个业务系统做性能优化时,有个地方需要在循环内实现对外交互。有网络IO的地方很容易出现性能瓶颈,就打算通过parallelStream实现并发操作, List resultList = new ArrayList(); xxxList.forEach(item -> { result = ...

解决邮箱关闭导致的邮件无法发送问题 550 5.1.1 recipient is not exist javax.mail

业务方反馈系统的定时邮件没有收到。排查日志后发现,是人员离职后,其工作邮箱关闭,与其相关的业务系统的定时邮件通知的收件人列表内没有移除其邮箱,会导致邮件通知发送失败报"550 5.1.1 recipient is not exist"异常,导致整个邮件通知都没办法发出。 经过查阅文...

MacOS 下切换默认 Java (JDK)

TLDR 如果同时安装了 adoptopenjdk 11 和 adoptopenjdk 8,同时希望 8 做为默认 JDK,只需要把 /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Info.plist里的JVMVersion的值由1.8.0_222改为 x1.8.0_222(大概第42行)。这样我们的MacOS默认JDK就成为...

Tomcat与UTF-8,告别中文乱码

简介 UTF-8是网页应用中最常用的字符编码。它支持世界上正在使用的所有语言,包括中日韩。 本文我们会展示所有的配置以确保在Tomcat中使用 UTF-8。 连接器(Connector) 配置 一个连接器在指定的端口上监听连接。我们需要确保我们所有的连接器都使用UTF-8来编码请求。 ...

Maven 最佳实践

Maven 最佳实践

版本依赖 使用 dependencyManagement 管理Jar包版本。Java项目中三方Jar包的管理是相当混乱的,通过 dependencyManagement 可以快速的统一 Jar 包版本。 以 javassist 为例,项目中依赖多个 javassist 版本。 在 pom.xml 增加以下代码 <dependencyManagement> <dependencies> <d...

dubbo 接口调试

公司内部有多个项目中并使用 dubbo 相互间提供服务,每次相关接口调试与联调都是一种折磨,在有多个服务提供方时,不能确定这次调用由哪个提供方处理。在长期的摸索中找到如下调试方法: 1. 封装为 HTTP 接口 把接口封装为 HTTP 服务,就变成了 HTTP 接口的调试; 优...

eclipse必备插件

eclipse必备插件

通用 Properties Editor properties文件编辑器,可以自动的转换中文为properties文件支持的 unicode 编码。 https://marketplace.eclipse.org/content/properties-editor Path Tools 可以方便的复制项目文件路径。还顺带在文件管理器中打开,在命令行中打开,在外部编辑器打开,自定义命令等一系列功能。 http://marketplace.eclipse.org/c...

String.replaceAll 反斜杠StringIndexOutOfBoundsException String index out of range

尝试使用String.replaceAll把斜杠(/)替换成反斜杠()时,一直抛StringIndexOutOfBoundsException异常。 后来意识到写法错误,原代码如下: "xobo/org".replaceAll("/", "\") 正确的写法是: "xobo/org".replaceAll("/", Matcher.quoteReplacement("\")) 等价...

NoClassDefFoundError:org.apache.juli.logging.LogFactory Jetty

NoClassDefFoundError:org.apache.juli.logging.LogFactory Jetty

使用Jetty启动项目的时候会报NoClassDefFoundError:org.apache.juli.logging.LogFactory异常,而Tomcat可以正常启动,这种情况是因为tomcat的包配置不正确引起的 移除掉tomcat的Library就可以了 具体步骤: 右键项目 -Build Path -Configure Build Path... -Libraries 移除掉tomcat。 参考自:http://www.oschina.net/question/170972_21853...