相关疑难解决方法(0)

执行parallelStream.forEach(..)时本机java代码中的NullPointerException

我有以下异常(stacktrace):

java.lang.NullPointerException
at sun.reflect.GeneratedConstructorAccessor171.newInstance(Unknown Source) ~[?:?]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[?:1.8.0_40]
at java.lang.reflect.Constructor.newInstance(Constructor.java:422) ~[?:1.8.0_40]
at java.util.concurrent.ForkJoinTask.getThrowableException(ForkJoinTask.java:598) ~[?:1.8.0_40]
at java.util.concurrent.ForkJoinTask.reportException(ForkJoinTask.java:677) ~[?:1.8.0_40]
at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:735) ~[?:1.8.0_40]
at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160) ~[?:1.8.0_40]
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:174) ~[?:1.8.0_40]
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) ~[?:1.8.0_40]
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418) ~[?:1.8.0_40]
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:583) ~[?:1.8.0_40]
at com.tradair.tnet.services.trades.TradeService.updateUnrealizedPNL(TradeService.java:173) ~[tnet.jar:5.1.1.0-SNAPSHOT]
Run Code Online (Sandbox Code Playgroud)

从我TradeService班上的课程开始:

    public void updateUnrealizedPNL(Set<Org> orgsToCaluclate, Set<Org> orgsToSendUpdate) {
    orgsToCaluclate.parallelStream().forEach(o -> {
        pnlService.updateMidPrices(o);
        Collection<SystemTradeOrder> allLiveTradesByOrgId = tradesRepository.getAllLiveTradesByOrgId(o.getId());
        updateUnrealizedPNL(o, allLiveTradesByOrgId);
    });

    // more code ....
Run Code Online (Sandbox Code Playgroud)

因此看起来在运行forEach(..)方法时抛出异常会在java本机代码中抛出.我的意思是,NullPointerException不会从我自己的代码中抛出 - 而不是从我的消费者函数中抛出,而消费函数在forEach(..)方法中作为参数出现.

我仔细检查了orgsToCaluclate这段代码运行时没有修改集合.

这是初始化 orgsToCaluclate:

        Set<Org> …
Run Code Online (Sandbox Code Playgroud)

java jvm nullpointerexception java-8 java-stream

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

标签 统计

java ×1

java-8 ×1

java-stream ×1

jvm ×1

nullpointerexception ×1