小编J F*_*ird的帖子

time.Time Round to Day

我有一个时间戳进来,我想知道是否有办法将其缩小到太平洋标准时间的一天开始.例如,ts:1305861602对应2016-04-14, 21:10:27 -0700,但我想将其四舍五入到映射到的时间戳2016-04-14 00:00:00 -0700.我通读了时间.时间文件,但没有找到办法.

go

28
推荐指数
3
解决办法
2万
查看次数

Goroutine:time.Sleep或time.After

我想知道在goroutine中等待的更好方法是什么,time.Sleep()或者<-time.After()?两者之间有什么区别以及如何做出选择?谢谢.

go

14
推荐指数
2
解决办法
3984
查看次数

pgAdmin连接错误到pgpool

我正在使用pgAdmin III从客户端管理我的数据库.我有一个在流复制模式下运行的master和slave postgreSQL.在他们面前还有另一个pgpool服务器来进行连接池和负载平衡.

当我将pgAdmin连接到pgpool时,我得到了:

Error connecting to the server: ERROR: unable to read message kind
DETAIL: kind does not match between master(52) slot[1] (45)
Run Code Online (Sandbox Code Playgroud)

我以前连接到它没有问题,但不知何故pgpool死了,我重新启动它,然后这个错误弹出了没有位置.

pgpool和postgreSQL服务器运行良好.我可以用它来访问它们psql -h hostname database user.应用服务器也可以连接到它,并且Web应用程序通常正在运行.我只是无法从pgAdmin访问它.

postgresql pgpool pgadmin

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

与Jenkins进行覆盖报告集成

我想知道是否有任何工具可以转换go test -coverprofile=cover.out为Jenkins可以接受的格式?我发现了一些工具,例如go-junit-reportgo2xunit,但它们实际上只是转换来自的输出go test -v,而不是覆盖率报告。

我想直接了解Jenkins的详细测试范围。基本上,我希望看到的输出go tool cover -func=cover.out,并go tool cover -html=cover.out在詹金斯网页。

go jenkins

6
推荐指数
2
解决办法
4630
查看次数

带有自定义标头的 Resttemplate GET 请求

我需要发送一个头的GET请求:Content-Type: application/camiant-msr-v2.0+xml。我期望来自服务器的 XML 响应。我用 Postman 测试了请求和响应,一切都很好。但是当我尝试在 Spring 中使用 时RestTemplate,我总是收到 400 个错误的请求。例外情况spring是:

Jul 09, 2016 12:53:38 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [/smp] threw exception [Request processing failed; nested exception is org.springframework.web.client.HttpClientErrorException: 400 Bad Request] with root cause
org.springframework.web.client.HttpClientErrorException: 400 Bad Request
    at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:91)
    at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:641)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:597)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557)
    at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:475)
Run Code Online (Sandbox Code Playgroud)

我的代码:

MultiValueMap<String, String> headers = new LinkedMultiValueMap<String, String>();
headers.add("Content-Type", "application/camiant-msr-v2.0+xml");

HttpEntity<?> entity = new HttpEntity<Object>(headers);
log.debug("request headers: …
Run Code Online (Sandbox Code Playgroud)

rest spring custom-headers resttemplate

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

未找到 Docker 映像入口点脚本

我有一个Dockerfile喜欢的:

FROM frolvlad/alpine-oraclejdk8:slim
ADD build/libs/zuul*.jar /app.jar
ADD src/main/script/startup.sh /startup.sh
EXPOSE 8080 8999
ENTRYPOINT ["/startup.sh"]
Run Code Online (Sandbox Code Playgroud)

startup.sh好像:

#!/bin/sh
set -e

if [ $# -eq 0 ]
then
    echo "Environment value required"
    exit 1
fi

java -jar -Xms400m -Xmx400m -Dlog4j.configurationFile=log4j2-qa2.xml -Djava.security.egd=file:/dev/./urandom -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.rmi.port=8999 app.jar
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时docker run,我docker: Error response from daemon: Container command '/startup.sh' not found or does not exist..得到了 shell脚本有执行权限。

我用同样的方式运行我的其他应用程序,它们都工作正常。我在 Mac 上编写了这些文件,并尝试在 Linux 机器上运行该容器。

docker

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

绑定到Java时间戳对象时,Hibernate忽略数据库时区信息

我在Oracle中存储了一些日期,其中Oracle TIMESTAMP(3)作为其数据类型.现在我正在编写一个Spring启动应用程序来读取这些值.代码如下:

HibernateCallback callback = new HibernateCallback() {
        public Object doInHibernate(Session session) throws HibernateException {
            Query query = session.createSQLQuery("SELECT date_field FROM some_table WHERE some_conditions");

            return query.list();
        }
    };
Run Code Online (Sandbox Code Playgroud)

所以:

List results = (List)getHibernateTemplate().execute(callback);
// suppose there's only one row and one column returned
Timestamp ts = result.get(0)[0];
Run Code Online (Sandbox Code Playgroud)

返回TimestampHibernate自动创建的Java 对象.问题是,在构造对象时,它会忽略存储在Oracle中的时区,而是使用JVM的默认时区.我测试的是为JVM设置不同的时区,每次生成不同的时间戳.

这显然是错的.日期在时间线上应该是唯一的.它不应该依赖于JVM的时区.我想知道在解析日期时包含DB的时区信息的正确方法是什么.现在看起来它只是使用存储在Oracle中的String表示并用JMV的时区解析它.我正在使用Hibernate 4.3.4.Final.

PS:实际查询是高度自定义的,所以我必须编写原始SQL.

java oracle hibernate date

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

Python ThreadPoolExecutor抑制异常

from concurrent.futures import ThreadPoolExecutor, wait, ALL_COMPLETED


def div_zero(x):
    print('In div_zero')
    return x / 0


with ThreadPoolExecutor(max_workers=4) as executor:
    futures = executor.submit(div_zero, 1)

    done, _ = wait([futures], return_when=ALL_COMPLETED)
    # print(done.pop().result())

    print('Done')
Run Code Online (Sandbox Code Playgroud)

上面的程序将完全运行,没有任何错误消息。

仅当您显式调用future.result()或时future.exception()(如我在注释行中所做的那样),您才能获得异常。

我想知道为什么这个Python模块即使隐藏了问题也选择了这种行为。因此,我花费了数小时来调试编程错误(在类中引用了不存在的属性),否则该错误将在程序异常崩溃(例如Java)时非常明显。

python exception

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

Jackson 将 Instant 序列化为纳秒问题

Jackson串行化java.time.InstantWRITE_DATE_TIMESTAMPS_AS_NANOSECONDS默认启用。

JSON是这样产生的

{ "timestamp":1421261297.356000000 }
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法摆脱最后的零。我想要这样的东西:

{ "timestamp":1421261297.356 }
Run Code Online (Sandbox Code Playgroud)

我试过:

mapper.configure( SerializationFeature.WRITE_DATE_TIMESTAMPS_AS_NANOSECONDS, false );
mapper.configure( SerializationFeature.WRITE_DATES_AS_TIMESTAMPS, true );
Run Code Online (Sandbox Code Playgroud)

但是此配置将其更改为毫秒表示1421261297356。我想要秒部分和小数毫秒部分。

java serialization json jackson java-time

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

当单元测试断言失败时运行代码

我正在使用assertEquals()unittest.TestCase。我现在想做的是调用一个函数,并在断言失败时在其中执行某项操作,我想知道是否有这样做的方法?

python unit-testing assert testcase

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