小编Dee*_*boy的帖子

Java 8 - ChronoUnit.MONTHS.between(fromDate,toDate) 未按预期工作

我需要找到没有。两个日期之间的月份数,包括两个月份。我正在使用 ChronoUnit.Months.between,但得到了意想不到的结果。

代码适用于:1 月 31 日 - 7 月 31 日

失败日期:1 月 31 日 - 6 月 30 日

失败的代码:

import java.time.LocalDate;
import static java.time.temporal.ChronoUnit.MONTHS;
public class HelloWorld{

     public static void main(String []args){
        LocalDate startDate=LocalDate.of(2018,01,31);
        LocalDate endDate=LocalDate.of(2018,6,30);
        //Both dates inclusive, hence adding 1
        long noOfMonths = (MONTHS.between(startDate,endDate)) + 1L;
        System.out.println(" ********* No. of months between the two dates : " + noOfMonths);
        }
}
Run Code Online (Sandbox Code Playgroud)

预期:6(1 月、2 月、3 月、4 月、5 月、6 月)实际:5

有效的代码:

import java.time.LocalDate;
import static java.time.temporal.ChronoUnit.MONTHS;
public class …
Run Code Online (Sandbox Code Playgroud)

datetime duration java-8

5
推荐指数
2
解决办法
7133
查看次数

如何将 slf4j-over-logback 日志写为 JSON

我的代码中有以下日志记录语句。

import org.slf4j.Logger;

public class MySampleClass {

private static final Logger logger = LoggerFactory.getLogger(MySmapleClass.class);

    public void mySampleMethod(List<String> userID) {
        logger.debug("userRuntimeId =" + userId);
        .
        .
        .
        Business Logic
        .
        .

    }
}
Run Code Online (Sandbox Code Playgroud)

我的日志配置位于: logback-common.xml 在此处输入图片说明

logback-local.xml 在此处输入图片说明

这将打印我的日志,如下所示,

2019-02-25 16:27:45,460 | 调试 | [fileTaskExecutor-2] | [a.abc.mySampleApp.handlers.userRecordHandler] | [MY_SAMPLE_APP] | [Vijay-20190225-162738.trigger] | [] | userRuntimeId = 3051aa39-2e0a-11e9-bee3-e7388cjg5le0

我想将日志打印为 JSON。我该怎么做?

我期望的示例 JSON 格式:

{
timestamp="2019-02-25 16:27:45,460" ,
level="DEBUG",
triggerName="fileTaskExecutor-2",
className="a.abc.mySampleApp.handlers.userRecordHandler",
appName="MY_SAMPLE_APP",
userRuntimeId="3051aa39-2e0a-11e9-bee3-e7388cjg5le0"
}
Run Code Online (Sandbox Code Playgroud)

logging json logback slf4j

5
推荐指数
1
解决办法
5907
查看次数

如何将数据持久化到H2数据库中

我的应用程序有 3 个组件,

1) 面向用户的组件,接收请求并将其存储到数据库中 2) 后端组件,从数据库读取数据、处理数据并将其发送到外部系统。3)存储用户输入的DB

在此输入图像描述 我目前正在 Eclipse 的内存数据库(不是基于文件)中使用 H2 进行测试。我想进行端到端测试,但问题是我已经停止面向用户的组件并启动后端组件。因此,每次启动后端组件时,数据库都会从头开始创建。

如何测试以使流程如下:用户输入数据 -> 数据持久化到数据库 -> Baackend 连接到相同的持久化数据 -> 处理数据 + 传递到外部系统?

注意:我尝试使用 ddl-auto: update,但它不起作用。

spring persistence h2 spring-boot

1
推荐指数
1
解决办法
7495
查看次数

标签 统计

datetime ×1

duration ×1

h2 ×1

java-8 ×1

json ×1

logback ×1

logging ×1

persistence ×1

slf4j ×1

spring ×1

spring-boot ×1