小编Jam*_*ann的帖子

Spring Batch:在运行时获取已定义作业的列表

是否可以在运行时在不使用db的情况下获取Spring Batch中已定义作业的列表?也许有可能从jobRepositorybean或类似的对象获取这些元数据?

java spring spring-batch

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

在catch块中编写业务逻辑

我试图了解使用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)

java

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

Amazon Redshift:查询执行挂起

我使用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)

有任何想法吗?

grails hadoop amazon-web-services amazon-redshift

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