Skip to content

ClassCastException with spring-boot-devtools #19

@techthumb

Description

@techthumb

When spring-boot-devtools is included in build.gradle, all tasks fail with java.lang.ClassCastException

// build.gradle.kts

dependencies {
    developmentOnly("org.springframework.boot:spring-boot-devtools:3.5.6")
    implementation("org.sterl.spring:spring-persistent-tasks-core:2.2.2")
    implementation("org.sterl.spring:spring-persistent-tasks-db:2.2.2")
    implementation("org.sterl.spring:spring-persistent-tasks-ui:2.2.2")

// ...
}

Stacktrace

java.lang.ClassCastException: class com.example.webapp.tasks.ProvisionTaskState cannot be cast to class com.example.webapp.tasks.ProvisionTaskState (com.example.webapp.tasks.ProvisionTaskState is in unnamed module of loader 'app'; com.example.webapp.tasks.ProvisionTaskState is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @71d0f740)
	at com.example.webapp.tasks.ProvisionTask.accept(ProvisionTask.kt:14)
	at org.sterl.spring.persistent_tasks.trigger.model.RunTaskWithStateCommand.runTask(RunTaskWithStateCommand.java:47)
	at org.sterl.spring.persistent_tasks.trigger.model.RunTaskWithStateCommand.lambda$execute$0(RunTaskWithStateCommand.java:38)
	at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:140)
	at org.sterl.spring.persistent_tasks.trigger.model.RunTaskWithStateCommand.execute(RunTaskWithStateCommand.java:38)
	at org.sterl.spring.persistent_tasks.trigger.component.RunTriggerComponent.execute(RunTriggerComponent.java:52)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)
	at org.sterl.spring.persistent_tasks.trigger.component.RunTriggerComponent$$SpringCGLIB$$0.execute(<generated>)
	at org.sterl.spring.persistent_tasks.trigger.TriggerService.run(TriggerService.java:59)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
	at java.base/java.lang.reflect.Method.invoke(Method.java:565)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)
	at org.sterl.spring.persistent_tasks.trigger.TriggerService$$SpringCGLIB$$0.run(<generated>)
	at org.sterl.spring.persistent_tasks.scheduler.component.TaskExecutorComponent.runTrigger(TaskExecutorComponent.java:100)
	at org.sterl.spring.persistent_tasks.scheduler.component.TaskExecutorComponent.lambda$submit$0(TaskExecutorComponent.java:80)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:328)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1095)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:619)
	at java.base/java.lang.Thread.run(Thread.java:1447)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions