是否可以在运行时在不使用db的情况下获取Spring Batch中已定义作业的列表?也许有可能从jobRepositorybean或类似的对象获取这些元数据?
我试图了解使用Java catch块的正确方法。我应该在那里写业务逻辑还是仅抑制错误?
我的问题在某种程度上与此有关。请检查一下。
我的理解:
如果未检查到 异常,则最好的方法是用以下方式编写代码:
Integer n = null;
try {
n = Integer.parseInt(reader.readLine());
}
catch(NumberFormatException e){
log.error('Can't parse string');
}
if (n == null) {
n = 0;
}
Run Code Online (Sandbox Code Playgroud)
并避免这样的代码:
Integer n = null;
try {
n = Integer.parseInt(reader.readLine());
}
catch(NumberFormatException ignored){
n = 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题:
但是它将被检查的异常是什么,并且我在未找到搜索元素的情况下使用例如数据库异常抛出NoSuchElement异常:
User user = null;
try {
user = User.findById(userId);
} catch (NoSuchCategoryException e) {
log.error('User {} doesn't exist.', userId);
user = new User();
}
user.setUsername('someName'); …Run Code Online (Sandbox Code Playgroud) 我使用amazon redshift,有时查询执行会挂起而没有任何错误消息,例如此查询将执行:
select extract(year from date), extract(week from date),count(*) from some_table where date>'2015-01-01 00:00:00' and date<'2015-12-31 23:59:59' group by extract(year from date), extract(week from date)
Run Code Online (Sandbox Code Playgroud)
而这不是:
select extract(year from date), extract(week from date),count(*) from some_table where date>'2014-01-01 00:00:00' and date<'2014-12-27 23:59:59' group by extract(year from date), extract(week from date)
Run Code Online (Sandbox Code Playgroud)
但只有当我将项目部署到服务器并在我的本地机器上执行所有查询时才会发生这种情况.
我已经在我的代码中设置autoCommit=true了连接.此外,上面列出的所有内容都使用此库来处理grails
compile 'com.amazonaws:aws-java-sdk-redshift:1.9.39'
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?