小编Der*_*har的帖子

Java中的类IOException是否是未经检查的RuntimeException?

您是否同意Java类的设计者java.io.IOException应该使其成为一个未经检查的运行时异常,java.lang.RuntimeException而不是仅从派生的派生异常派生java.lang.Exception

我认为该类IOException应该是一个未经检查的异常,因为应用程序几乎无法解决文件系统错误等问题.然而,当你不能抛出异常,埃利奥特·鲁斯蒂·阿罗德声称,大多数I/O错误是短暂的,所以你可以放弃之前重试I/O操作几次:

例如,IOComparator可能不会出现I/O错误,但是 - 因为许多I/O问题是暂时的 - 您可以重试几次,如清单7所示:

通常情况如此吗?Java应用程序可以纠正I/O错误还是等待系统恢复?如果是这样,那么检查IOException是合理的,但如果不是这样,则应取消选中IOException,以便业务逻辑可以将此异常的处理委托给单独的系统错误处理程序.

java exception-handling exception

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

如何让我的Docker撰写"wait-for-it"脚本来调用原始容器ENTRYPOINT或CMD?

根据Compose中的Controlling启动顺序,可以通过使用" wait-for-it "脚本来控制Docker Compose启动容器的顺序.脚本需要一个参数以及脚本在端口可用时应该执行的命令.文档建议Docker Compose使用该选项调用此脚本.但是,如果使用此选项,容器将不再运行其默认值,或者因为覆盖默认值.wait-for-it.shhost:portentrypoint:ENTRYPOINTCMDentrypoint:

如何提供此默认命令wait-for-it.sh以便脚本可以调用默认值ENTRYPOINTCMD满足它等待的条件?

就我而言,我已经实现了一个wait-for-file.sh轮询等待文件存在的脚本:

#!/bin/bash

set -e

waitFile="$1"
shift
cmd="$@"

until test -e $waitFile
do
  >&2 echo "Waiting for file [$waitFile]."
  sleep 1
done

>&2 echo "Found file [$waitFile]."
exec $cmd
Run Code Online (Sandbox Code Playgroud)

Docker Compose调用wait-for-file.sh作为从tomcat:8-jre8以下位置派生的轻微自定义容器的入口点:

  platinum-oms:
    image: opes/platinum-oms
    ports:
      - "8080:8080"
    volumes_from:
      - liquibase
    links:
      - postgres:postgres
      - activemq:activemq
    depends_on:
      - liquibase
      - activemq
    entrypoint: /wait-for-file.sh /var/run/liquibase/done …
Run Code Online (Sandbox Code Playgroud)

synchronization wait docker docker-compose

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

什么Log4j备用日志库可用?

您建议使用哪些日志库作为Log4j的替代品?这些库是否适用于Spring和Hibernate?它们与Slf4jJakarta Commons Logging兼容吗?

java logging

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

如何在取消保存文件时指示Perforce进行合并而不是覆盖或还原?

当取消搁置在软件仓库中的文件时,如何指示Perforce将更改合并到工作区中的现有,打开和修改的文件中?Perforce似乎为用户提供的唯一选项是覆盖或还原工作区中的现有文件,但这不允许,例如,从多个更改列表中取消搁置并将更改集成到同一文件中.有没有解决这个限制的方法?

perforce unshelve shelving

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

Java的复式会计库?

什么是双入口会计库可用于Java?

java accounting

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

Hibernate在读取和写入Java Calendar对象到SQL TIMESTAMP时使用的时区是什么?

Hibernate Java Calendar对象写入 SQL TIMESTAMP列时,它会调整日期,计算机的日期或日历对象(或其他)中指定的日期?

当Hibernate TIMESTAMP到日历对象,以哪个时区并把它翻译的日期?

java sql timestamp hibernate

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

什么是兵马俑?

  • 什么是兵马俑?
  • 它提供什么服务?
  • 它解决了什么问题?
  • 还有哪些产品可以解决类似于Terracotta解决的问题?

java terracotta distributed-computing

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

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

使用Kubernetes的钩子

我想试试Kubernetes的钩子,但我没有找到任何一个例子我应该怎么做.据我所知,通过这个钩子,我可以在新创建的容器中运行bash脚本,然后再终止它们.

我发现只是一个简短的文档,说这是可能的,但就是这样.

有人有一个例子或有用的信息吗?

提前致谢.

kubernetes

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

如何在Kubernetes ConfigMap中存储二进制文件?

可以在Kubernetes ConfigMap中存储二进制文件,然后从安装此ConfigMap的卷中读取相同的内容吗?例如,如果目录/etc/mycompany/myapp/config包含二进制文件keystore.jks,则会

kubectl create configmap myapp-config --from-file=/etc/mycompany/myapp/config
Run Code Online (Sandbox Code Playgroud)

keystore.jks在ConfigMap myapp-config中包含文件,以后可以映射到卷,挂载到容器中,并作为二进制文件读取?

例如,假设下面的吊舱规范,应该keystore.jks是提供给myapp/etc/mycompany/myapp/config/keystore.jks

apiVersion: v1
kind: Pod
metadata:
  name: myapp
spec:
  containers:
  - name: myapp
    image: mycompany/myapp
    volumeMounts:
    - name: myapp-config
      mountPath: /etc/mycompany/myapp/config

  volumes:
  - name: myapp-config
    configMap:
      name: myapp-config
Run Code Online (Sandbox Code Playgroud)

Kubernetes版本详细信息:

derek@derek-HP-EliteOne-800-G1-AiO:~/Documents/platinum/fix/brvm$ kubectl version
Client Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.6", GitCommit:"ae4550cc9c89a593bcda6678df201db1b208133b", GitTreeState:"clean", BuildDate:"2016-08-26T18:13:23Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"3", GitVersion:"v1.3.6+coreos.0", GitCommit:"f6f0055b8e503cbe5fb7b6f1a2ee37d0f160c1cd", GitTreeState:"clean", BuildDate:"2016-08-29T17:01:01Z", GoVersion:"go1.6.2", Compiler:"gc", Platform:"linux/amd64"}
Run Code Online (Sandbox Code Playgroud)

configuration configuration-files kubernetes

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