Sorry for late reply, here is the stacktrace (with Jackson 2.10.2):

Spring Boot 2.2.2

Jackson 2.10.2

JDK 11.0.5, Windows 10 64b

jackson-datatype-jsr310 is in the class path



java.lang.ExceptionInInitializerError: null
    at 
org.strangeforest.tcb.stats.service.GOATLegendService.getRecordsGOATPoints(GOATLegendService.java:187)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.service.GOATLegendService$$FastClassBySpringCGLIB$$55f42b8b.invoke(<generated>)
 
~[classes/:na]
    at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 
~[spring-core-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.cache.interceptor.CacheInterceptor.lambda$invoke$0(CacheInterceptor.java:53)
 
~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.cache.interceptor.CacheAspectSupport.invokeOperation(CacheAspectSupport.java:365)
 
~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:420)
 
~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.cache.interceptor.CacheAspectSupport.execute(CacheAspectSupport.java:345)
 
~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.cache.interceptor.CacheInterceptor.invoke(CacheInterceptor.java:61)
 
~[spring-context-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.interceptor.CustomizableTraceInterceptor.invokeUnderTrace(CustomizableTraceInterceptor.java:256)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.interceptor.AbstractTraceInterceptor.invoke(AbstractTraceInterceptor.java:131)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.strangeforest.tcb.stats.service.GOATLegendService$$EnhancerBySpringCGLIB$$f639d7b.getRecordsGOATPoints(<generated>)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.service.ContentService.getRecordWeights(ContentService.java:118)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.service.ContentService.getRecordOfTheDay(ContentService.java:100)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.service.ContentService.doGetRecordOfTheDay(ContentService.java:96)
 
~[classes/:na]
    at org.strangeforest.tcb.util.Memoizer.get(Memoizer.java:27) 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.service.ContentService.getRecordOfTheDay(ContentService.java:87)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.service.ContentService$$FastClassBySpringCGLIB$$e9244fde.invoke(<generated>)
 
~[classes/:na]
    at 
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) 
~[spring-core-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:769)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.interceptor.CustomizableTraceInterceptor.invokeUnderTrace(CustomizableTraceInterceptor.java:256)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.interceptor.AbstractTraceInterceptor.invoke(AbstractTraceInterceptor.java:131)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:747)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:689)
 
~[spring-aop-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.strangeforest.tcb.stats.service.ContentService$$EnhancerBySpringCGLIB$$8197d654.getRecordOfTheDay(<generated>)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.controller.TennisStatsController.index(TennisStatsController.java:40)
 
~[classes/:na]
    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method) ~[na:na]
    at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 
~[na:na]
    at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 
~[na:na]
    at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
    at 
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:888)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:793)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1040)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) 
~[tomcat-embed-websocket-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.springframework.web.servlet.resource.ResourceUrlEncodingFilter.doFilter(ResourceUrlEncodingFilter.java:64)
 
~[spring-webmvc-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:108)
 
~[spring-boot-actuator-2.2.2.RELEASE.jar:2.2.2.RELEASE]
    at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
 
~[spring-web-5.2.2.RELEASE.jar:5.2.2.RELEASE]
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367) 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1591)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 
~[na:na]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 
~[na:na]
    at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
 
~[tomcat-embed-core-9.0.29.jar:9.0.29]
    at java.base/java.lang.Thread.run(Thread.java:834) ~[na:na]
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make 
field private final int java.time.LocalDate.year accessible: module 
java.base does not "opens java.time" to unnamed module @5d51e129
    at 
java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:340)
 
~[na:na]
    at 
java.base/java.lang.reflect.AccessibleObject.checkCanSetAccessible(AccessibleObject.java:280)
 
~[na:na]
    at 
java.base/java.lang.reflect.Field.checkCanSetAccessible(Field.java:176) 
~[na:na]
    at java.base/java.lang.reflect.Field.setAccessible(Field.java:170) 
~[na:na]
    at 
com.fasterxml.jackson.databind.util.ClassUtil.checkAndFixAccess(ClassUtil.java:939)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.impl.FieldProperty.fixAccess(FieldProperty.java:104)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder._fixAccess(BeanDeserializerBuilder.java:494)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder.build(BeanDeserializerBuilder.java:350)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.buildBeanDeserializer(BeanDeserializerFactory.java:252)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.BeanDeserializerFactory.createBeanDeserializer(BeanDeserializerFactory.java:143)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer2(DeserializerCache.java:411)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:349)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:264)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.DeserializationContext.findNonContextualValueDeserializer(DeserializationContext.java:466)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.BeanDeserializerBase.resolve(BeanDeserializerBase.java:473)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:293)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:244)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.deser.DeserializerCache.findValueDeserializer(DeserializerCache.java:142)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.DeserializationContext.findRootValueDeserializer(DeserializationContext.java:476)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.ObjectReader._prefetchRootDeserializer(ObjectReader.java:2094)
 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.ObjectReader.<init>(ObjectReader.java:191) 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.ObjectMapper._newReader(ObjectMapper.java:709) 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
com.fasterxml.jackson.databind.ObjectMapper.readerFor(ObjectMapper.java:3714) 
~[jackson-databind-2.10.2.jar:2.10.2]
    at 
org.strangeforest.tcb.stats.model.records.RecordDetailFactory.<init>(RecordDetailFactory.java:14)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.model.records.Record.<init>(Record.java:35) 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.model.records.Record.<init>(Record.java:25) 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.model.records.categories.ResultsStreaksCategory.resultStreak(ResultsStreaksCategory.java:62)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.model.records.categories.ResultsStreaksCategory.resultStreak(ResultsStreaksCategory.java:21)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.model.records.categories.TitleStreaksCategory.titleStreak(TitleStreaksCategory.java:36)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.model.records.categories.TitleStreaksCategory.<init>(TitleStreaksCategory.java:11)
 
~[classes/:na]
    at 
org.strangeforest.tcb.stats.model.records.Records.<clinit>(Records.java:82) 
~[classes/:na]
    ... 93 common frames omitted





Here is the bean with Jackson annotations:

public class StreakRecordDetail extends SimpleRecordDetail<Integer> {

  private final int startSeason;
  private final LocalDate startDate;
  private final TournamentEventDetail startEvent;
  private final int endSeason;
  private final LocalDate endDate;
  private final TournamentEventDetail endEvent;
  private final Integer tournamentId;

  public StreakRecordDetail(
      @JsonProperty("value") int value,
      @JsonProperty("start_season") int startSeason,
      @JsonProperty("start_date") @JsonDeserialize(using = 
LocalDateDeserializer.class) LocalDate startDate,
      @JsonProperty("start_tournament_event_id") int startTournamentEventId,
      @JsonProperty("start_tournament") String startTournament,
      @JsonProperty("start_level") String startLevel,
      @JsonProperty("end_season") int endSeason,
      @JsonProperty("end_date") @JsonDeserialize(using = 
LocalDateDeserializer.class) LocalDate endDate,
      @JsonProperty("end_tournament_event_id") int endTournamentEventId,
      @JsonProperty("end_tournament") String endTournament,
      @JsonProperty("end_level") String endLevel,
      @JsonProperty("tournament_id") Integer tournamentId
  ) {
    super(value);
    this.startSeason = startSeason;
    this.startDate = startDate;
    startEvent = new TournamentEventDetail(startTournamentEventId, 
startTournament, startLevel);
    this.endSeason = endSeason;
    this.endDate = endDate;
    endEvent = new TournamentEventDetail(endTournamentEventId, endTournament, 
endLevel);
    this.tournamentId = tournamentId;
  }

  public int getStartSeason() {
    return startSeason;
  }

  public LocalDate getStartDate() {
    return startDate;
  }

  public TournamentEventDetail getStartEvent() {
    return startEvent;
  }

  public int getEndSeason() {
    return endSeason;
  }

  public LocalDate getEndDate() {
    return endDate;
  }

  public TournamentEventDetail getEndEvent() {
    return endEvent;
  }

  public Integer getTournamentId() {
    return tournamentId;
  }

  @Override public String toDetailString() {
    return format("%1$d %2$s - %3$d %4$s", startSeason, startEvent.getName(), 
endSeason, endEvent.getName());
  }
}





public abstract class SimpleRecordDetail<T> implements RecordDetail<T> {

  private final T value;

  protected SimpleRecordDetail(T value) {
    this.value = value;
  }

  @Override public T getValue() {
    return value;
  }
}








On Friday, November 22, 2019 at 11:54:13 PM UTC+1, Tatu Saloranta wrote:
>
> On Fri, Nov 22, 2019 at 2:36 PM Tatu Saloranta <ta...@fasterxml.com 
> <javascript:>> wrote: 
> > 
> > On Fri, Nov 22, 2019 at 11:57 AM Tatu Saloranta <ta...@fasterxml.com 
> <javascript:>> wrote: 
> > > 
> > > On Fri, Nov 22, 2019 at 9:20 AM Mileta Cekovic <mcek...@gmail.com 
> <javascript:>> wrote: 
> > > > 
> > > > Hi, seems JDK 9+ Illegal Reflective access by ClassUtil is still 
> present in Jackson 2.10.1 
> > > > Namely I got this with JDK 11.0.5, Jackson 2.10.1 then trying to 
> serialize LocalDate to JSON using jackson-datatype-jsr310 
> > > > 
> > > > WARNING: An illegal reflective access operation has occurred 
> > > > WARNING: Illegal reflective access by 
> com.fasterxml.jackson.databind.util.ClassUtil 
> (file:/C:/Users/mcekovic/.gradle/caches/modules-2/files-2.1/com.fasterxml.jackson.core/jackson-databind/2.10.1/18eee15ffc662d27538d5b6ee84e4c92c0a9d03e/jackson-databind-2.10.1.jar)
>  
> to field java.time.LocalDate.year 
> > > > WARNING: Please consider reporting this to the maintainers of 
> com.fasterxml.jackson.databind.util.ClassUtil 
> > > > WARNING: Use --illegal-access=warn to enable warnings of further 
> illegal reflective access operations 
> > > > WARNING: All illegal access operations will be denied in a future 
> release 
> > > 
> > > The problem here is that this gives no clue as to where and how access 
> > > was triggered. 
> > > If code path leading to it was known I could see if this could be 
> > > avoided -- I am quite confident that in case of this class, 
> > > introspection is not needed since there is explicit serializer -- but 
> > > without something like stack trace, it is not possible to really trace 
> > > back unfortunately. 
> > > 
> > > So if anyone has good ideas on how to tease out some more information, 
> > > I would be happy to have a look at if and how to avoid triggering this 
> > > warning. 
> > 
> > Looks like there are some command-line switches: 
> > 
> > 
> https://stackoverflow.com/questions/49076972/how-can-i-throw-an-exception-for-an-illegal-reflective-access-warning
>  
> > 
> > where: 
> > 
> > "--illegal-access=deny will cause the expected IllegalAccessException 
> > or InaccessibleObjectException to be thrown. If you just want the 
> > stack traces then --illegal-access=debug is what you are looking for. 
> > " 
> > 
> > would seem helpful in particular... 
>
> Unfortunately, I am unable to see absolutely any problem on Eclipse, 
> running with setting, unit test for `LocalDate`, for JSR-310 module. 
>
> So until it can be reproduced, there is nothing I can do. 
>
> -+ Tatu +- 
>

-- 
You received this message because you are subscribed to the Google Groups 
"jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to jackson-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jackson-user/65e48bf6-c9b1-4158-9c65-23451131f243%40googlegroups.com.

Reply via email to