归档文章: Java

如何加快maven编译速度

随着项目代码越来越多, 编译的速度也越来越慢。 为了提高编译效率,如何加快maven编译速度呢?

1) 并发编译

-T 4 的含义是指定4个线程

-T 1C 的含义是一个cpu 内核开启一个线程 (如果我们有8核cpu可用,1个core一个线程, 则使用8个线程)

2)增加maven执行时的java 可使用内存大小

 

然后再执行mvn clean install 开始编译。

 

tomcat启动springboot application提示“LoggerFactory is not a Logback LoggerContext but Logback is on the classpath”

tomcat 部署springboot application后(打包成war包部署),提示如上错误。根据下面的堆栈错误原因, 可知slf4j 提供的LoggerFactory 并没有使用Logback 上下文, 但是logback的库被引入到了我们的工程里。 这时候springboot 应用启动的时候, spring框架广播了一个事件, LoggingApplicationListener 侦听到了该事件后,启动了检查工作,发现logback并没有启用, 报了如上错误。 查看如此解决办法可以想到有2个办法。 1)  移除logback 包 , 错误里也提示的比较明确, 使用默认的 log4j 管理日志打印。(因为错误已经明确提示告诉我们,org.apache.logging.slf4j.Log4jLoggerFactory 被默认加载了。 ) 2) 移除log4j , 让slf4j 使用logback 上下文。
更多…

springboot不使用数据库时,如何规避autoconfiguration时提示错误

Spring Boot – Cannot determine embedded database driver class for database type NONE

我们需要在springbootApplication 上加上如下注释, exclude 排除如下的自动配置,即可。

@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})

springboot 健康检查 MessagingException: 501 Syntax: HELO hostname

springboot 健康检查 MessagingException: 501 Syntax: HELO hostname

 

原因,该机器的dns服务地址未配置正确。 例如本服务器的hostname为 service,但是service 不能正确解析。

1.  可以直接修改 /etc/hosts  将本服务器的hostname 映射成为 127.0.0.1

或者

2. 可以springboot 添加配置项直接设置为本机ip地址。

 

spring boot 单元测试

 

获取spring所有propertysources和key-value

更多…

spring单元测试时No qualifying bean of type [javax.sql.DataSource] is defined: expected single matching bean but found 2

从报错的信息来看, 没有一个具备资格的DataSource类型的bean。 期望一个,结果找到了多个。  从信息的内容来看,可以看出来应该是定义了多个datasource 类型的bean。 可能在使用默认datasource类型的bean时候,犯迷糊了。

1) 可能使用多个数据源? https://github.com/spring-projects/spring-data-examples/tree/master/multi-store  可以参考多个数据源的配置。

2) 我这里发现,因为被依赖的工程里有class的configuration和xml中的定义有重复。 所以在spring.xml 中, exclude  @configuration的class。 这样不会和xml中的定义冲突。

 

Jmeter beanshell 写文件

Jmeter beanshell 写文件 更多…

spring boot webmvc 启动找不到任何的请求mapping

照着网上教程写了一个简单的spring boot web mvc ,但是请求就是提示如下错误。

 

更多…

jmeter jsr223 beanshell处理动态生成请求参数签名(例如微信开放api接口签名)

jmeter jsr223 beanshell处理动态生成请求参数签名(例如微信开放api接口签名)

请求签名的方法。

例如c=value1&b=value2  需要先按照字母排序 b=value2&c=value2 算出MD5散列值(可能会加盐,salt key你自己获取)

最终请求时的请求参数为 b=value2&c=value2&sign={md5_string},  注意sign参数的位置也需要重新按照排序。

更多…