Skip to content

Commit

Permalink
v6.5.3
Browse files Browse the repository at this point in the history
v6.5.3
  • Loading branch information
839128 committed Jul 7, 2022
2 parents e3429ae + 0e6d062 commit 4bee6ce
Show file tree
Hide file tree
Showing 440 changed files with 17,158 additions and 13,995 deletions.
8 changes: 4 additions & 4 deletions README.md
Expand Up @@ -6,7 +6,7 @@
</p>
<p align="center">
<a target="_blank" href="https://search.maven.org/search?q=org.aoju">
<img src="https://img.shields.io/badge/maven--central-v6.5.2-blue.svg?label=Maven%20Central" />
<img src="https://img.shields.io/badge/maven--central-v6.5.3-blue.svg?label=Maven%20Central" />
</a>
<a target="_blank" href="https://travis-ci.org/aoju/bus">
<img src="https://travis-ci.com/aoju/bus.svg?branch=main">
Expand Down Expand Up @@ -97,7 +97,7 @@ Bus (应用/服务总线) 是一个基础框架、服务套件,它基于Java17
<dependency>
<groupId>org.aoju</groupId>
<artifactId>bus-all</artifactId>
<version>6.5.2</version>
<version>6.5.3</version>
</dependency>
```

Expand Down Expand Up @@ -164,7 +164,7 @@ welcome.

## 许可证(license)

### MIT
### MIT

Open sourced under the MIT license.

Expand All @@ -177,7 +177,7 @@ Thanks JetBrains for the OpenSource license.
感谢JetBrains提供IDEA开源license

##

源码永远是最好的教程,善于读源码和DEBUG朋友掌握完全是轻而易举的事。源码是作者设计理念最直观的展现,这也是开源的魅力所在。"Talk is cheap, Show me the code."
,开源让技术难题的探讨变得更加务实,在您看完源码后心中对它都会有一个定论。在作者看来,Bus切切实实降低了开发学习门槛,也保障了服务的高性能、高可用。如果读者朋友对源码中某些部分的设计存在疑虑,也欢迎与作者保持沟通。

12 changes: 9 additions & 3 deletions bus-all/pom.xml
Expand Up @@ -6,7 +6,7 @@

<groupId>org.aoju</groupId>
<artifactId>bus-all</artifactId>
<version>6.5.2</version>
<version>6.5.3</version>
<packaging>jar</packaging>

<name>${project.artifactId}</name>
Expand Down Expand Up @@ -177,6 +177,12 @@
<version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bus-spring</artifactId>
<version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bus-starter</artifactId>
Expand Down Expand Up @@ -217,7 +223,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.2</version>
<version>3.4.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
Expand Down Expand Up @@ -308,7 +314,7 @@
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.12</version>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>sonatype-nexus-staging</serverId>
Expand Down
11 changes: 8 additions & 3 deletions bus-base/pom.xml
Expand Up @@ -6,7 +6,7 @@

<groupId>org.aoju</groupId>
<artifactId>bus-base</artifactId>
<version>6.5.2</version>
<version>6.5.3</version>
<packaging>jar</packaging>

<name>${project.artifactId}</name>
Expand Down Expand Up @@ -53,6 +53,11 @@
<artifactId>bus-pager</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bus-spring</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
Expand Down Expand Up @@ -87,7 +92,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.2</version>
<version>3.4.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
Expand Down Expand Up @@ -148,7 +153,7 @@
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.12</version>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>sonatype-nexus-staging</serverId>
Expand Down
50 changes: 38 additions & 12 deletions bus-base/src/main/java/org/aoju/bus/base/advice/BaseAdvice.java
Expand Up @@ -31,9 +31,8 @@
import org.aoju.bus.core.exception.CrontabException;
import org.aoju.bus.core.exception.InstrumentException;
import org.aoju.bus.core.exception.ValidateException;
import org.aoju.bus.core.toolkit.RuntimeKit;
import org.aoju.bus.core.instance.Instances;
import org.aoju.bus.core.toolkit.StringKit;
import org.aoju.bus.logger.Logger;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.http.HttpStatus;
import org.springframework.ui.Model;
Expand All @@ -46,7 +45,7 @@
import org.springframework.web.servlet.NoHandlerFoundException;

/**
* 异常信息拦截处理
* 异常信息拦截
*
* @author Kimi Liu
* @since Java 17+
Expand Down Expand Up @@ -87,7 +86,7 @@ public void addAttributes(Model model) {
@ResponseBody
@ExceptionHandler(value = Exception.class)
public Object defaultException(Exception e) {
Logger.error(RuntimeKit.getStackTrace(e));
this.defaultExceptionHandler(e);
return write(ErrorCode.EM_FAILURE);
}

Expand All @@ -100,8 +99,11 @@ public Object defaultException(Exception e) {
@ResponseBody
@ExceptionHandler(value = InstrumentException.class)
public Object instrumentException(InstrumentException e) {
Logger.error(RuntimeKit.getStackTrace(e));
return write(ErrorCode.EM_100510);
this.defaultExceptionHandler(e);
if (StringKit.isBlank(e.getErrcode())) {
return write(ErrorCode.EM_100510);
}
return write(e.getErrcode(), e.getErrmsg());
}

/**
Expand All @@ -114,9 +116,9 @@ public Object instrumentException(InstrumentException e) {
@ResponseBody
@ExceptionHandler(value = BusinessException.class)
public Object businessException(BusinessException e) {
Logger.error(RuntimeKit.getStackTrace(e));
this.defaultExceptionHandler(e);
if (StringKit.isBlank(e.getErrcode())) {
return write(ErrorCode.EM_100513, e.getMessage());
return write(ErrorCode.EM_100513);
}
return write(e.getErrcode());
}
Expand All @@ -130,8 +132,11 @@ public Object businessException(BusinessException e) {
@ResponseBody
@ExceptionHandler(value = CrontabException.class)
public Object crontabException(CrontabException e) {
Logger.error(RuntimeKit.getStackTrace(e));
return write(ErrorCode.EM_100514);
this.defaultExceptionHandler(e);
if (StringKit.isBlank(e.getErrcode())) {
return write(ErrorCode.EM_100514);
}
return write(e.getErrcode(), e.getErrmsg());
}

/**
Expand All @@ -143,7 +148,10 @@ public Object crontabException(CrontabException e) {
@ResponseBody
@ExceptionHandler(value = ValidateException.class)
public Object validateException(ValidateException e) {
Logger.error(RuntimeKit.getStackTrace(e));
this.defaultExceptionHandler(e);
if (StringKit.isBlank(e.getErrcode())) {
return write(ErrorCode.EM_100510);
}
return write(e.getErrcode(), e.getErrmsg());
}

Expand All @@ -156,6 +164,7 @@ public Object validateException(ValidateException e) {
@ResponseBody
@ExceptionHandler(value = HttpRequestMethodNotSupportedException.class)
public Object httpRequestMethodNotSupportedException(HttpRequestMethodNotSupportedException e) {
this.defaultExceptionHandler(e);
return write(ErrorCode.EM_100507);
}

Expand All @@ -168,6 +177,7 @@ public Object httpRequestMethodNotSupportedException(HttpRequestMethodNotSupport
@ResponseBody
@ExceptionHandler(value = HttpMediaTypeNotSupportedException.class)
public Object httpMediaTypeNotSupportedException(HttpMediaTypeNotSupportedException e) {
this.defaultExceptionHandler(e);
return write(ErrorCode.EM_100508);
}

Expand All @@ -181,6 +191,7 @@ public Object httpMediaTypeNotSupportedException(HttpMediaTypeNotSupportedExcept
@ResponseStatus(HttpStatus.NOT_FOUND)
@ExceptionHandler(value = NoHandlerFoundException.class)
public Object noHandlerFoundException(NoHandlerFoundException e) {
this.defaultExceptionHandler(e);
return write(ErrorCode.EM_100509);
}

Expand All @@ -194,8 +205,23 @@ public Object noHandlerFoundException(NoHandlerFoundException e) {
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ExceptionHandler({MethodArgumentNotValidException.class, BindException.class})
public Object handleBodyValidException(MethodArgumentNotValidException e) {
Logger.error(e.getBindingResult().getFieldErrors().get(0).getDefaultMessage());
this.defaultExceptionHandler(e);
return write(ErrorCode.EM_100511);
}

/**
* 业务处理器处理请求之前被调用,对用户的request进行处理,若返回值为true,
* 则继续调用后续的拦截器和目标方法;若返回值为false, 则终止请求;
* 这里可以加上登录校验,权限拦截、请求限流等
*
* @param ex 对象参数
*/
public void defaultExceptionHandler(Exception ex) {
try {
Instances.singletion(ErrorAdvice.class).handler(ex);
} catch (RuntimeException ignore) {
// ignore
}
}

}
42 changes: 24 additions & 18 deletions ...oju/bus/http/secure/SSLSocketFactory.java → ...org/aoju/bus/base/advice/ErrorAdvice.java 100644 → 100755
Expand Up @@ -23,37 +23,43 @@
* THE SOFTWARE. *
* *
********************************************************************************/
package org.aoju.bus.http.secure;
package org.aoju.bus.base.advice;

import org.aoju.bus.core.lang.Http;

import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;
import java.security.SecureRandom;
import org.aoju.bus.base.service.ErrorService;
import org.aoju.bus.core.toolkit.ObjectKit;
import org.aoju.bus.core.toolkit.RuntimeKit;
import org.aoju.bus.logger.Logger;
import org.aoju.bus.spring.SpringBuilder;

/**
* Https SSL证书
* 异常信息处理
*
* @author Kimi Liu
* @since Java 17+
*/
public class SSLSocketFactory {
public class ErrorAdvice {

/**
* 创建SSL证书
* 业务处理器处理请求之前被调用,对用户的request进行处理,若返回值为true,
* 则继续调用后续的拦截器和目标方法;若返回值为false, 则终止请求
* 这里可以加上登录校验,权限拦截、请求限流等
*
* @param X509TrustManager 证书信息
* @return SSLSocketFactory ssl socket工厂
* @param ex 对象参数
* @return 如果执行链应该继续执行, 则为:true 否则:false
*/
public static javax.net.ssl.SSLSocketFactory createTrustAllSSLFactory(X509TrustManager X509TrustManager) {
public boolean handler(Exception ex) {
try {
SSLContext sc = SSLContext.getInstance(Http.TLS);
sc.init(null, new TrustManager[]{X509TrustManager}, new SecureRandom());
return sc.getSocketFactory();
} catch (Exception ignored) {
ignored.printStackTrace();
ErrorService errorService = SpringBuilder.getBean(ErrorService.class);
if (ObjectKit.isNotNull(errorService)) {
errorService.before(ex);
errorService.after(ex);
} else {
Logger.error(RuntimeKit.getStackTrace(ex));
}
} catch (RuntimeException ignore) {
return false;
}
return null;
return true;
}

}
Expand Up @@ -167,7 +167,7 @@ public static <T extends BaseEntity> void resetIntField(T entity, String[] field
* @param entity 反射对象
*/
public <T> void setCreateInfo(T entity) {
String id = ObjectID.id();
String id = ObjectKit.isEmpty(getValue(entity, "id")) ? ObjectID.id() : (String) getValue(entity, "id");
String timestamp = StringKit.toString(DateKit.timestamp());
String[] fields = {"id", "created"};
Object[] value = new Object[]{id, timestamp};
Expand Down
Expand Up @@ -23,34 +23,40 @@
* THE SOFTWARE. *
* *
********************************************************************************/
package org.aoju.bus.http.magic;
package org.aoju.bus.base.service;

import org.aoju.bus.http.NewCall;
import org.aoju.bus.core.toolkit.RuntimeKit;
import org.aoju.bus.logger.Logger;

/**
* 回调处理
* 异常信息处理
* 此类未找到实现的情况下,采用默认实现
* 可以根据不同业务需求,实现对应逻辑即可
*
* @author Kimi Liu
* @since Java 17+
*/
public abstract class AbsCallback {
public interface ErrorService {

/**
* 失败回调信息
* 完成请求处理前调用
*
* @param newCall 回调信息
* @param exception 异常
* @param id 当前请求标识
* @param ex 对象参数
* @return 如果执行链应该继续执行, 则为:true 否则:false
*/
public abstract void onFailure(NewCall newCall, Exception exception, String id);
default boolean before(Exception ex) {
Logger.error(RuntimeKit.getStackTrace(ex));
return true;
}

/**
* 响应回调信息
* 完成请求处理后回调
*
* @param newCall 回调信息
* @param response 响应信息
* @param id 当前请求标识
* @param ex 对象参数
* @return 如果执行链应该继续执行, 则为:true 否则:false
*/
public abstract void onResponse(NewCall newCall, HttpResponse response, String id);
default boolean after(Exception ex) {
return true;
}

}
}
6 changes: 3 additions & 3 deletions bus-bom/pom.xml
Expand Up @@ -6,7 +6,7 @@

<groupId>org.aoju</groupId>
<artifactId>bus-bom</artifactId>
<version>6.5.2</version>
<version>6.5.3</version>
<packaging>pom</packaging>

<name>${project.artifactId}</name>
Expand Down Expand Up @@ -191,7 +191,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.3.2</version>
<version>3.4.0</version>
<executions>
<execution>
<id>attach-javadocs</id>
Expand Down Expand Up @@ -252,7 +252,7 @@
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>nexus-staging-maven-plugin</artifactId>
<version>1.6.12</version>
<version>1.6.13</version>
<extensions>true</extensions>
<configuration>
<serverId>sonatype-nexus-staging</serverId>
Expand Down

0 comments on commit 4bee6ce

Please sign in to comment.