我有一个线程,它包含ThreadLocal变量。我需要parallelStream()在上面提到的线程中使用。需要调用myService哪个使用线程局部变量。有什么机制可以在java8.x中ThreadLocal使用parallelstream()时设置?
List<MyObject> result = myList.parallelStream().map(myObject -> {
//call myService with the Threadlocal
}).filter(...)
.....;
Run Code Online (Sandbox Code Playgroud) 我打算编写一个方法,用于更新具有MyObject另一个MyObject对象的非空字段的对象。
private void updateMyObject(MyObject sourceObject, MyObject destinationObject) {
ModelMapper mapper = new ModelMapper();
mapper.getConfiguration().setPropertyCondition(Conditions.isNotNull());
mapper.map(sourceObject, destinationObject);
}
public class MyObject {
long id;
long durationInMilliSecounds;
//...getters and setters
}
Run Code Online (Sandbox Code Playgroud)
在这里destinationObject没有得到更新。任何人都可以建议此代码的问题。
java ×2
copy ×1
deep-copy ×1
java-8 ×1
java-stream ×1
modelmapper ×1
object ×1
thread-local ×1