Francesco Chicchiriccò created SYNCOPE-1896:
-----------------------------------------------
Summary: Audit: not serializable exception for ConnectorObject
instances
Key: SYNCOPE-1896
URL: https://issues.apache.org/jira/browse/SYNCOPE-1896
Project: Syncope
Issue Type: Bug
Components: core
Affects Versions: 3.0.12
Reporter: Francesco Chicchiriccò
Assignee: Francesco Chicchiriccò
Fix For: 3.0.13
When audit is configured for PUSH, the following exception is logged:
{code}
2025-07-23 12:32:35.495 [operation.id=01983557-10c5-7d3a-aed4-3645c45bcc60]
ERROR [er_Worker-7]
g.apache.syncope.core.provisioning.java.job.AfterHandlingJob : Could not
schedule, aborting
org.quartz.JobPersistenceException: Couldn't store job: Unable to serialize
JobDataMap for insertion into database because the value of property
'AfterHandlingEvent' is not serializable:
org.identityconnectors.framework.common.objects.ConnectorObject [See nested
exception: java.io.NotSerializableException: Unable to serialize JobDataMap for
insertion into database because the value of property 'AfterHandlingEvent' is
not serializable:
org.identityconnectors.framework.common.objects.ConnectorObject]
at
org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1119)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport$2.executeVoid(JobStoreSupport.java:1062)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3652)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3650)
at
org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:242)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1058)
at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:841)
at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:250)
at
org.apache.syncope.core.provisioning.java.job.AfterHandlingJob.schedule(AfterHandlingJob.java:72)
at
org.apache.syncope.core.provisioning.java.pushpull.AbstractPushResultHandler.doHandle(AbstractPushResultHandler.java:499)
at
org.apache.syncope.core.provisioning.java.pushpull.AbstractPushResultHandler.handle(AbstractPushResultHandler.java:222)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at
org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:50)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241)
at jdk.proxy2/jdk.proxy2.$Proxy361.handle(Unknown Source)
at
org.apache.syncope.core.provisioning.java.pushpull.PushResultHandlerDispatcher.handle(PushResultHandlerDispatcher.java:49)
at
org.apache.syncope.core.provisioning.java.pushpull.PushJobDelegate.doHandle(PushJobDelegate.java:123)
at
org.apache.syncope.core.provisioning.java.pushpull.PushJobDelegate.doExecuteProvisioning(PushJobDelegate.java:277)
at
org.apache.syncope.core.provisioning.java.pushpull.PushJobDelegate.doExecuteProvisioning(PushJobDelegate.java:64)
at
org.apache.syncope.core.provisioning.java.pushpull.AbstractProvisioningJobDelegate.doExecute(AbstractProvisioningJobDelegate.java:702)
at
org.apache.syncope.core.provisioning.java.job.AbstractSchedTaskJobDelegate.execute(AbstractSchedTaskJobDelegate.java:155)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at
org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:344)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:198)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at
org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123)
at
org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:388)
at
org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at
org.apache.syncope.core.persistence.jpa.spring.DomainTransactionInterceptor.invoke(DomainTransactionInterceptor.java:50)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:241)
at jdk.proxy2/jdk.proxy2.$Proxy360.execute(Unknown Source)
at
org.apache.syncope.core.provisioning.java.job.TaskJob.lambda$execute$0(TaskJob.java:78)
at
org.apache.syncope.core.spring.security.AuthContextUtils.call(AuthContextUtils.java:116)
at
org.apache.syncope.core.spring.security.AuthContextUtils.callAs(AuthContextUtils.java:142)
at
org.apache.syncope.core.spring.security.AuthContextUtils.callAsAdmin(AuthContextUtils.java:147)
at
org.apache.syncope.core.provisioning.java.job.TaskJob.execute(TaskJob.java:67)
at org.quartz.core.JobRunShell.run(JobRunShell.java:203)
at
org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:566)
Caused by: java.io.NotSerializableException: Unable to serialize JobDataMap for
insertion into database because the value of property 'AfterHandlingEvent' is
not serializable:
org.identityconnectors.framework.common.objects.ConnectorObject
at
org.quartz.impl.jdbcjobstore.StdJDBCDelegate.serializeJobData(StdJDBCDelegate.java:3057)
at
org.quartz.impl.jdbcjobstore.StdJDBCDelegate.insertJobDetail(StdJDBCDelegate.java:606)
at
org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJob(JobStoreSupport.java:1114)
... 51 more
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)