小编And*_*ren的帖子

如何转换org.joda.time.DateTime到java.time.ZonedDateTime

我有一个数据源与joda时间DateTime对象存储.我需要将它们转换为java ZonedDateTime对象,保留原始时区.

保留偏移量是不够的,因为某些DateTime对象表示每日重复性任务,并且这些任务必须在特定时间段内针对每个日期发生.因此,它们必须遵循指定的TimeZone过渡,例如夏季和冬季时间.我无法告诉DateTime对象的最终用法,因此我需要保留所有对象的时区信息以确保安全.

如何把org.joda.time.DateTime转换成java.time.ZonedDateTime?

全部

ord.joda.time.DateTimeZone.getId()

映射到可用的ID

java.time.ZoneId

java timezone datetime jodatime java-time

11
推荐指数
2
解决办法
1万
查看次数

使用lambdas解释Java堆栈跟踪,例如".lambda $ null $ 2"&和"$$ Lambda $"

我正在寻找Java 8堆栈跟踪中lambda周围发生的部分的定义

例如这段代码

Object inputData = someData();

myList.stream().forEach(listItem -> {

    Query query = (Query) listItem.getSingle().apply(this.getId());

    Object data = diffUtils.applyProjection(query, inputData);

    myStringCollection.stream()
       .filter(destination -> myPredicateMethod(listItem, destination))
       .forEach(destination -> myProcessMethod(destination, data));
}
Run Code Online (Sandbox Code Playgroud)

有时产生这种例外.

at [CLASS].lambda$null$2([CLASS].java:85)
at [CLASS]$$Lambda$64/730559617.accept(Unknown Source)
Run Code Online (Sandbox Code Playgroud)

异常中描述的不同部分是什么?什么是"null","2","64","730559617"和"Unknown Source"告诉我什么?

这里可以找到一个更详细的例子(但是这里我的例外中的"null"不存在).http://blog.takipi.com/the-dark-side-of-lambda-expressions-in-java-8/

java lambda logging exception stack-trace

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

计算指定时间内GCP日志条目的数量

是否可以计算GCP Stackdriver日志记录在特定时间段内特定日志消息出现的次数?回答问题“此时间段内此事件发生了多少次”。基本上,我想要下表中曲线的积分。

它不必是一个移动的窗口,这一次它是一次性任务。如果可以的话,高级日志查询中的计数汇总器或类似工具也可以使用。

堆栈驱动程序中基于示例日志的指标图

查询如下所示:

(resource.type="container"
logName="projects/xyz-142842/logs/drs"
"Publish Message for updated entity"
) AND (timestamp>="2018-04-25T06:20:53Z" timestamp<="2018-04-26T06:20:53Z")
Run Code Online (Sandbox Code Playgroud)

我上图的基于日志的指标如下所示: 基于日志的metrig,类型=计数器,单位= 1

我的仪表板的设置如下: 具有汇总总和的仪表板

google-bigquery google-cloud-console google-cloud-platform stackdriver

8
推荐指数
2
解决办法
3497
查看次数

如何使用带有 WriteChannel 和 MD5 检查的 JAVA 库上传到 Google Storage

使用写入编写器通道的输出流时,如何对上传的内容执行 MD5 检查?当我这样做时Storage::create,提供的 BlobInfo 中的 MD5 被EMPTY_BYTE_ARRAY_MD5. 这是有道理的,因为最初创建 blob 时确实是空的。但我希望作者有一些方法来设置更新的 MD5,一旦作者关闭,该MD5 预计将有效。我找不到实现此目的的方法,这可能吗?我将附上我的代码:

摇篮:

api 'com.google.cloud:google-cloud-storage:1.51.0'
Run Code Online (Sandbox Code Playgroud)

爪哇代码:

import com.google.cloud.WriteChannel;
import com.google.cloud.storage.*;
import com.google.common.io.ByteStreams;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.channels.Channels;
import java.nio.file.Path;

class StorageServiceImpl {

    @Inject
    private Storage storage;

    public BlobInfo uploadFile(final Path localFile, final String bucketName, final String fileName, final String downloadFileName) throws IOException {
        Blob blob = null;
        String checksum = md5(localFile);
        try (InputStream inputStream = new FileInputStream(localFile.toFile())) {
            blob = storage.create( …
Run Code Online (Sandbox Code Playgroud)

google-cloud-storage google-cloud-platform

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