spring-loaded
spring-loaded copied to clipboard
Java8 method reference not working
Hi, Dear
I worked conversion list to map with Java8 method reference. But, It failed to reload. I am using loaded-1.2.3.
@Service
public class StatsService {
public void copy() {
..
Map<String, LocationTagScore> scoreMap = scores.stream().collect(Collectors.toMap(LocationTagScore::getTagName, Function.identity()));
...
}
Spring loaded library cannot find getTagName method on LocationTagScore, it keep looking StatService.
Exception is caught like below
Caused by: java.lang.RuntimeException: java.lang.NoSuchMethodException: no such method: StatsService$$EPIOgHa4.getTagName(LocationTagScore)String/invokeStatic
at org.springsource.loaded.support.Java8.emulateInvokeDynamic(Java8.java:99)
at org.springsource.loaded.TypeRegistry.idyrun(TypeRegistry.java:1574)
Same issue with springloaded 1.2.5
Using a method reference like LocationTagScore::getTagName inside class StatsService gets interpreted as a reference to StatsService::getTagName resulting in java.lang.NoSuchMethodException