小编ser*_*unz的帖子

如何在Java中同时处理Collection中的元素

我需要同时处理某些Collection实例中的元素.换句话说,而不是迭代Collection实例

for (Someclass elem : coll){
     process(elem);
}
Run Code Online (Sandbox Code Playgroud)

我想同时处理这些元素.说,像ConcurrentCollectionExecutor(coll, new Callable{…}, numberOfThreads).此外,应修复多个同时线程.

任何灵活的模式已经存在?

java collections concurrency

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

在Spring 4.3中从非事务方法中调用@Transactional方法

我有以下代码:

@Service
public class ItemService {
    ...

    public void addItems(@Nonnull DocumentDTO dto) throws Exception {
        // some code that takes some time to process
        ...

        addItems(dto.getDocId(), items);
    }

    @Transactional
    public void addItems(long docId, @Nonnull List<Item> items) {
        itemDao.addItems(docId, items);
    }
}
Run Code Online (Sandbox Code Playgroud)

第一个方法不是@Transactional,而是使用@Transactional调用第二个方法。SonarLint工具指出“方法不应使用不兼容的“ @Transactional”值调用同类方法”(https://rules.sonarsource.com/java/RSPEC-2229

但是此代码在Spring 4.3.20中可以正常工作。这条规则在Spring 4.3.20中适用吗?

PS有趣的是,如果我将第二种方法设置为私有程序包,则SonarLint警告消失了……为什么?

java spring

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

标签 统计

java ×2

collections ×1

concurrency ×1

spring ×1