java.lang.IllegalArgumentException: null

Apereo Issues | Dan McCallum | 3 years ago
tip
Do you know that we can give you better hits? Get more relevant results from Samebug’s stack trace search.
  1. 0

    From the field today... # {{external_student_test.csv}} has date values like '10/1/2012' but the app needs '2012-10-01' # Initial "raw" file validation won't catch this problem # The upsert will error out with a {{Date}} related trace (see below), but it's effectively impossible to know which file is causing the problem, let alone which row. And the report says nothing except that a bunch of upserts were skipped (which in this case was the only clue I had that the problem was in the {{external_student_test.csv}} file) # The upsert failure is more catastrophic than I would have expected. E.g. even if fix all the date values in the file except for the first one, the whole file fails to upsert. This might just be because the file was only 20 rows and the upsert batch size is 100? If so, there's nothing to be done, really, except to catch the validation failure earlier (which is really the thrust of this ticket... we need to be catching these Date validation failures in the step that validates "raw" files). Trace(s): {noformat} 11:09:49.689 [taskExecutor-1] ERROR o.j.s.u.i.j.l.StagingAndUpsertSkipListener - ERROR on Stage/Upsert Write java.lang.IllegalArgumentException: null at java.sql.Date.valueOf(Unknown Source) ~[na:1.6.0_31] at net.sourceforge.jtds.jdbc.Support.convert(Support.java:502) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObjectBase(JtdsPreparedStatement.java:371) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObject(JtdsPreparedStatement.java:674) ~[jtds-1.2.4.jar:1.2.4] at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:163) ~[commons-dbcp-1.2.2.jar:1.2.2] at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:315) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:217) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:145) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter$1.doInPreparedStatement(SqlServerStagingTableWriter.java:138) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter.write(SqlServerStagingTableWriter.java:119) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_31] at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.6.0_31] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy0.write(Unknown Source) ~[na:na] at org.springframework.batch.item.support.CompositeItemWriter.write(CompositeItemWriter.java:51) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_31] at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.6.0_31] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy8.write(Unknown Source) ~[na:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.writeItems(SimpleChunkProcessor.java:175) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.scan(FaultTolerantChunkProcessor.java:580) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$900(FaultTolerantChunkProcessor.java:50) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$5.recover(FaultTolerantChunkProcessor.java:413) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:435) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:304) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:188) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:423) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136) [spring-batch-core-2.2.2.RELEASE.jar:na] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_31] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_31] at java.lang.Thread.run(Unknown Source) [na:1.6.0_31] 11:09:49.720 [taskExecutor-1] ERROR o.s.batch.core.step.AbstractStep - Encountered an error executing the step org.springframework.batch.core.step.skip.SkipListenerFailedException: Fatal exception in SkipListener. java.lang.IllegalArgumentException: null at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.callSkipListeners(FaultTolerantChunkProcessor.java:462) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:441) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136) [spring-batch-core-2.2.2.RELEASE.jar:na] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_31] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_31] at java.lang.Thread.run(Unknown Source) [na:1.6.0_31] Caused by: java.lang.IllegalArgumentException: Unable to invoke method: [public void org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(java.lang.Object,java.lang.Throwable)] on object: [org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener@1584807] with arguments: [[org.jasig.ssp.util.importer.job.domain.RawItem@cf07f3, java.lang.IllegalArgumentException]] at org.springframework.batch.support.SimpleMethodInvoker.invokeMethod(SimpleMethodInvoker.java:109) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.listener.MethodInvokerMethodInterceptor.invoke(MethodInvokerMethodInterceptor.java:69) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy13.onSkipInWrite(Unknown Source) ~[na:na] at org.springframework.batch.core.listener.CompositeSkipListener.onSkipInWrite(CompositeSkipListener.java:73) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.listener.MulticasterBatchListener.onSkipInWrite(MulticasterBatchListener.java:307) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.callSkipListeners(FaultTolerantChunkProcessor.java:459) ~[spring-batch-core-2.2.2.RELEASE.jar:na] ... 19 common frames omitted Caused by: java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_31] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_31] at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.6.0_31] at org.springframework.batch.support.SimpleMethodInvoker.invokeMethod(SimpleMethodInvoker.java:106) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] ... 26 common frames omitted Caused by: java.lang.NullPointerException: null at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.reportOnError(StagingAndUpsertSkipListener.java:94) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(StagingAndUpsertSkipListener.java:53) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(StagingAndUpsertSkipListener.java:38) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] ... 31 common frames omitted {noformat} Again, the report doesn't even have that level of descriptiveness. All I get there to indicate that something went wrong is: {noformat} Table Name: external_student_test Parsed: 19 Skipped on Parse: 0 Upserted: 0 Skipped on Write: 19 {noformat}

    Apereo Issues | 3 years ago | Dan McCallum
    java.lang.IllegalArgumentException: null
  2. 0

    From the field today... # {{external_student_test.csv}} has date values like '10/1/2012' but the app needs '2012-10-01' # Initial "raw" file validation won't catch this problem # The upsert will error out with a {{Date}} related trace (see below), but it's effectively impossible to know which file is causing the problem, let alone which row. And the report says nothing except that a bunch of upserts were skipped (which in this case was the only clue I had that the problem was in the {{external_student_test.csv}} file) # The upsert failure is more catastrophic than I would have expected. E.g. even if fix all the date values in the file except for the first one, the whole file fails to upsert. This might just be because the file was only 20 rows and the upsert batch size is 100? If so, there's nothing to be done, really, except to catch the validation failure earlier (which is really the thrust of this ticket... we need to be catching these Date validation failures in the step that validates "raw" files). Trace(s): {noformat} 11:09:49.689 [taskExecutor-1] ERROR o.j.s.u.i.j.l.StagingAndUpsertSkipListener - ERROR on Stage/Upsert Write java.lang.IllegalArgumentException: null at java.sql.Date.valueOf(Unknown Source) ~[na:1.6.0_31] at net.sourceforge.jtds.jdbc.Support.convert(Support.java:502) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObjectBase(JtdsPreparedStatement.java:371) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObject(JtdsPreparedStatement.java:674) ~[jtds-1.2.4.jar:1.2.4] at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:163) ~[commons-dbcp-1.2.2.jar:1.2.2] at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:315) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:217) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:145) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter$1.doInPreparedStatement(SqlServerStagingTableWriter.java:138) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter.write(SqlServerStagingTableWriter.java:119) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_31] at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.6.0_31] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy0.write(Unknown Source) ~[na:na] at org.springframework.batch.item.support.CompositeItemWriter.write(CompositeItemWriter.java:51) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_31] at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.6.0_31] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy8.write(Unknown Source) ~[na:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.writeItems(SimpleChunkProcessor.java:175) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.scan(FaultTolerantChunkProcessor.java:580) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$900(FaultTolerantChunkProcessor.java:50) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$5.recover(FaultTolerantChunkProcessor.java:413) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:435) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:304) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:188) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:423) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136) [spring-batch-core-2.2.2.RELEASE.jar:na] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_31] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_31] at java.lang.Thread.run(Unknown Source) [na:1.6.0_31] 11:09:49.720 [taskExecutor-1] ERROR o.s.batch.core.step.AbstractStep - Encountered an error executing the step org.springframework.batch.core.step.skip.SkipListenerFailedException: Fatal exception in SkipListener. java.lang.IllegalArgumentException: null at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.callSkipListeners(FaultTolerantChunkProcessor.java:462) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:441) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136) [spring-batch-core-2.2.2.RELEASE.jar:na] at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) [na:1.6.0_31] at java.util.concurrent.FutureTask.run(Unknown Source) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) [na:1.6.0_31] at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.6.0_31] at java.lang.Thread.run(Unknown Source) [na:1.6.0_31] Caused by: java.lang.IllegalArgumentException: Unable to invoke method: [public void org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(java.lang.Object,java.lang.Throwable)] on object: [org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener@1584807] with arguments: [[org.jasig.ssp.util.importer.job.domain.RawItem@cf07f3, java.lang.IllegalArgumentException]] at org.springframework.batch.support.SimpleMethodInvoker.invokeMethod(SimpleMethodInvoker.java:109) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.listener.MethodInvokerMethodInterceptor.invoke(MethodInvokerMethodInterceptor.java:69) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy13.onSkipInWrite(Unknown Source) ~[na:na] at org.springframework.batch.core.listener.CompositeSkipListener.onSkipInWrite(CompositeSkipListener.java:73) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.listener.MulticasterBatchListener.onSkipInWrite(MulticasterBatchListener.java:307) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.callSkipListeners(FaultTolerantChunkProcessor.java:459) ~[spring-batch-core-2.2.2.RELEASE.jar:na] ... 19 common frames omitted Caused by: java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_31] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_31] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[na:1.6.0_31] at java.lang.reflect.Method.invoke(Unknown Source) ~[na:1.6.0_31] at org.springframework.batch.support.SimpleMethodInvoker.invokeMethod(SimpleMethodInvoker.java:106) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] ... 26 common frames omitted Caused by: java.lang.NullPointerException: null at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.reportOnError(StagingAndUpsertSkipListener.java:94) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(StagingAndUpsertSkipListener.java:53) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(StagingAndUpsertSkipListener.java:38) ~[ssp-data-importer-impl-1.0.0.jar:1.0.0] ... 31 common frames omitted {noformat} Again, the report doesn't even have that level of descriptiveness. All I get there to indicate that something went wrong is: {noformat} Table Name: external_student_test Parsed: 19 Skipped on Parse: 0 Upserted: 0 Skipped on Write: 19 {noformat}

    Apereo Issues | 3 years ago | Dan McCallum
    java.lang.IllegalArgumentException: null
  3. 0

    Think our raw item validation step needs to be a bit more aggressive in validating temporal values. E.g. if we get a date value that jTDS can't cope with, e.g '12/12/12', the eventual error message is bizarrely indirect: {noformat} 12:33:37.111 [taskExecutor-1] ERROR o.j.s.u.i.j.l.StagingAndUpsertSkipListener - ERROR on Stage/Upsert Write java.lang.IllegalArgumentException: null at java.sql.Date.valueOf(Date.java:138) ~[na:1.6.0_37] at net.sourceforge.jtds.jdbc.Support.convert(Support.java:502) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObjectBase(JtdsPreparedStatement.java:371) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObject(JtdsPreparedStatement.java:674) ~[jtds-1.2.4.jar:1.2.4] at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:163) ~[commons-dbcp-1.2.2.jar:1.2.2] at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:315) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:217) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:145) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter$1.doInPreparedStatement(SqlServerStagingTableWriter.java:138) ~[classes/:na] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter.write(SqlServerStagingTableWriter.java:119) ~[classes/:na] at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_37] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_37] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy11.write(Unknown Source) ~[na:na] at org.springframework.batch.item.support.CompositeItemWriter.write(CompositeItemWriter.java:51) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_37] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_37] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy18.write(Unknown Source) ~[na:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.writeItems(SimpleChunkProcessor.java:175) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.scan(FaultTolerantChunkProcessor.java:580) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$900(FaultTolerantChunkProcessor.java:50) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$5.recover(FaultTolerantChunkProcessor.java:413) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:435) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:304) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:188) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:423) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136) [spring-batch-core-2.2.2.RELEASE.jar:na] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_37] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_37] at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37] 12:33:37.114 [taskExecutor-1] ERROR o.s.batch.core.step.AbstractStep - Encountered an error executing the step org.springframework.batch.core.step.skip.SkipListenerFailedException: Fatal exception in SkipListener. java.lang.IllegalArgumentException: null at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.callSkipListeners(FaultTolerantChunkProcessor.java:462) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:441) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136) [spring-batch-core-2.2.2.RELEASE.jar:na] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_37] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_37] at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37] Caused by: java.lang.IllegalArgumentException: Unable to invoke method: [public void org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(java.lang.Object,java.lang.Throwable)] on object: [org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener@7593c366] with arguments: [[org.jasig.ssp.util.importer.job.domain.RawItem@1b06ac95, java.lang.IllegalArgumentException]] at org.springframework.batch.support.SimpleMethodInvoker.invokeMethod(SimpleMethodInvoker.java:109) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.listener.MethodInvokerMethodInterceptor.invoke(MethodInvokerMethodInterceptor.java:69) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy21.onSkipInWrite(Unknown Source) ~[na:na] at org.springframework.batch.core.listener.CompositeSkipListener.onSkipInWrite(CompositeSkipListener.java:73) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.listener.MulticasterBatchListener.onSkipInWrite(MulticasterBatchListener.java:307) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.callSkipListeners(FaultTolerantChunkProcessor.java:459) ~[spring-batch-core-2.2.2.RELEASE.jar:na] ... 19 common frames omitted Caused by: java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_37] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_37] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_37] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_37] at org.springframework.batch.support.SimpleMethodInvoker.invokeMethod(SimpleMethodInvoker.java:106) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] ... 26 common frames omitted Caused by: java.lang.NullPointerException: null at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.reportOnError(StagingAndUpsertSkipListener.java:94) ~[classes/:na] at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(StagingAndUpsertSkipListener.java:53) ~[classes/:na] at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(StagingAndUpsertSkipListener.java:38) ~[classes/:na] ... 31 common frames omitted {noformat} I know there's stuff on the Yarb code we grabbed that runs through a set of acceptable date/datetime formats when it thinks its looking at a temporal value, but something doesn't seem to be working properly there. If it comes to it, it's OK for us to just stipulate a single format for date and datetime fields. Jim already added notes to that effect to the README.md.

    Apereo Issues | 3 years ago | Dan McCallum
    java.lang.IllegalArgumentException: null
  4. Speed up your debug routine!

    Automated exception search integrated into your IDE

  5. 0

    Think our raw item validation step needs to be a bit more aggressive in validating temporal values. E.g. if we get a date value that jTDS can't cope with, e.g '12/12/12', the eventual error message is bizarrely indirect: {noformat} 12:33:37.111 [taskExecutor-1] ERROR o.j.s.u.i.j.l.StagingAndUpsertSkipListener - ERROR on Stage/Upsert Write java.lang.IllegalArgumentException: null at java.sql.Date.valueOf(Date.java:138) ~[na:1.6.0_37] at net.sourceforge.jtds.jdbc.Support.convert(Support.java:502) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObjectBase(JtdsPreparedStatement.java:371) ~[jtds-1.2.4.jar:1.2.4] at net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObject(JtdsPreparedStatement.java:674) ~[jtds-1.2.4.jar:1.2.4] at org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:163) ~[commons-dbcp-1.2.2.jar:1.2.2] at org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:315) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:217) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:145) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter$1.doInPreparedStatement(SqlServerStagingTableWriter.java:138) ~[classes/:na] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617) ~[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter.write(SqlServerStagingTableWriter.java:119) ~[classes/:na] at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_37] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_37] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy11.write(Unknown Source) ~[na:na] at org.springframework.batch.item.support.CompositeItemWriter.write(CompositeItemWriter.java:51) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_37] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_37] at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy18.write(Unknown Source) ~[na:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.writeItems(SimpleChunkProcessor.java:175) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.scan(FaultTolerantChunkProcessor.java:580) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$900(FaultTolerantChunkProcessor.java:50) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$5.recover(FaultTolerantChunkProcessor.java:413) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:435) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:304) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:188) ~[spring-retry-1.0.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:423) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144) [spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136) [spring-batch-core-2.2.2.RELEASE.jar:na] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_37] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_37] at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37] 12:33:37.114 [taskExecutor-1] ERROR o.s.batch.core.step.AbstractStep - Encountered an error executing the step org.springframework.batch.core.step.skip.SkipListenerFailedException: Fatal exception in SkipListener. java.lang.IllegalArgumentException: null at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.callSkipListeners(FaultTolerantChunkProcessor.java:462) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:441) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130) ~[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE] at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139) [spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136) [spring-batch-core-2.2.2.RELEASE.jar:na] at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [na:1.6.0_37] at java.util.concurrent.FutureTask.run(FutureTask.java:138) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_37] at java.lang.Thread.run(Thread.java:680) [na:1.6.0_37] Caused by: java.lang.IllegalArgumentException: Unable to invoke method: [public void org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(java.lang.Object,java.lang.Throwable)] on object: [org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener@7593c366] with arguments: [[org.jasig.ssp.util.importer.job.domain.RawItem@1b06ac95, java.lang.IllegalArgumentException]] at org.springframework.batch.support.SimpleMethodInvoker.invokeMethod(SimpleMethodInvoker.java:109) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.listener.MethodInvokerMethodInterceptor.invoke(MethodInvokerMethodInterceptor.java:69) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) ~[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE] at $Proxy21.onSkipInWrite(Unknown Source) ~[na:na] at org.springframework.batch.core.listener.CompositeSkipListener.onSkipInWrite(CompositeSkipListener.java:73) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.listener.MulticasterBatchListener.onSkipInWrite(MulticasterBatchListener.java:307) ~[spring-batch-core-2.2.2.RELEASE.jar:na] at org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.callSkipListeners(FaultTolerantChunkProcessor.java:459) ~[spring-batch-core-2.2.2.RELEASE.jar:na] ... 19 common frames omitted Caused by: java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_37] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_37] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_37] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_37] at org.springframework.batch.support.SimpleMethodInvoker.invokeMethod(SimpleMethodInvoker.java:106) ~[spring-batch-infrastructure-2.2.2.RELEASE.jar:na] ... 26 common frames omitted Caused by: java.lang.NullPointerException: null at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.reportOnError(StagingAndUpsertSkipListener.java:94) ~[classes/:na] at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(StagingAndUpsertSkipListener.java:53) ~[classes/:na] at org.jasig.ssp.util.importer.job.listener.StagingAndUpsertSkipListener.onSkipInWrite(StagingAndUpsertSkipListener.java:38) ~[classes/:na] ... 31 common frames omitted {noformat} I know there's stuff on the Yarb code we grabbed that runs through a set of acceptable date/datetime formats when it thinks its looking at a temporal value, but something doesn't seem to be working properly there. If it comes to it, it's OK for us to just stipulate a single format for date and datetime fields. Jim already added notes to that effect to the README.md.

    Apereo Issues | 3 years ago | Dan McCallum
    java.lang.IllegalArgumentException: null

    1 unregistered visitors
    Not finding the right solution?
    Take a tour to get the most out of Samebug.

    Tired of useless tips?

    Automated exception search integrated into your IDE

    Root Cause Analysis

    1. java.lang.IllegalArgumentException

      null

      at java.sql.Date.valueOf()
    2. Java RT
      Date.valueOf
      1. java.sql.Date.valueOf(Unknown Source)[na:1.6.0_31]
      1 frame
    3. jTDS
      JtdsPreparedStatement.setObject
      1. net.sourceforge.jtds.jdbc.Support.convert(Support.java:502)[jtds-1.2.4.jar:1.2.4]
      2. net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObjectBase(JtdsPreparedStatement.java:371)[jtds-1.2.4.jar:1.2.4]
      3. net.sourceforge.jtds.jdbc.JtdsPreparedStatement.setObject(JtdsPreparedStatement.java:674)[jtds-1.2.4.jar:1.2.4]
      3 frames
    4. Commons DBCP
      DelegatingPreparedStatement.setObject
      1. org.apache.commons.dbcp.DelegatingPreparedStatement.setObject(DelegatingPreparedStatement.java:163)[commons-dbcp-1.2.2.jar:1.2.2]
      1 frame
    5. Spring Framework
      StatementCreatorUtils.setParameterValue
      1. org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:315)[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      2. org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:217)[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      3. org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:145)[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      3 frames
    6. org.jasig.ssp
      SqlServerStagingTableWriter$1.doInPreparedStatement
      1. org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter$1.doInPreparedStatement(SqlServerStagingTableWriter.java:138)[ssp-data-importer-impl-1.0.0.jar:1.0.0]
      1 frame
    7. Spring Framework
      JdbcTemplate.execute
      1. org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:589)[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      2. org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:617)[spring-jdbc-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      2 frames
    8. org.jasig.ssp
      SqlServerStagingTableWriter.write
      1. org.jasig.ssp.util.importer.job.staging.SqlServerStagingTableWriter.write(SqlServerStagingTableWriter.java:119)[ssp-data-importer-impl-1.0.0.jar:1.0.0]
      1 frame
    9. Java RT
      Method.invoke
      1. sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)[na:na]
      2. sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[na:1.6.0_31]
      3. java.lang.reflect.Method.invoke(Unknown Source)[na:1.6.0_31]
      3 frames
    10. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      4. org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      5. org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      6. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      7. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      7 frames
    11. Unknown
      $Proxy0.write
      1. $Proxy0.write(Unknown Source)[na:na]
      1 frame
    12. Spring Batch Infrastructure
      CompositeItemWriter.write
      1. org.springframework.batch.item.support.CompositeItemWriter.write(CompositeItemWriter.java:51)[spring-batch-infrastructure-2.2.2.RELEASE.jar:na]
      1 frame
    13. Java RT
      Method.invoke
      1. sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source)[na:na]
      2. sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)[na:1.6.0_31]
      3. java.lang.reflect.Method.invoke(Unknown Source)[na:1.6.0_31]
      3 frames
    14. Spring AOP
      JdkDynamicAopProxy.invoke
      1. org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      2. org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      3. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      4. org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:132)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      5. org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:120)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      6. org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      7. org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)[spring-aop-3.2.2.RELEASE.jar:3.2.2.RELEASE]
      7 frames
    15. Unknown
      $Proxy8.write
      1. $Proxy8.write(Unknown Source)[na:na]
      1 frame
    16. Spring Batch Core
      FaultTolerantChunkProcessor$5.recover
      1. org.springframework.batch.core.step.item.SimpleChunkProcessor.writeItems(SimpleChunkProcessor.java:175)[spring-batch-core-2.2.2.RELEASE.jar:na]
      2. org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.scan(FaultTolerantChunkProcessor.java:580)[spring-batch-core-2.2.2.RELEASE.jar:na]
      3. org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.access$900(FaultTolerantChunkProcessor.java:50)[spring-batch-core-2.2.2.RELEASE.jar:na]
      4. org.springframework.batch.core.step.item.FaultTolerantChunkProcessor$5.recover(FaultTolerantChunkProcessor.java:413)[spring-batch-core-2.2.2.RELEASE.jar:na]
      4 frames
    17. Spring Retry
      RetryTemplate.execute
      1. org.springframework.retry.support.RetryTemplate.handleRetryExhausted(RetryTemplate.java:435)[spring-retry-1.0.2.RELEASE.jar:na]
      2. org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:304)[spring-retry-1.0.2.RELEASE.jar:na]
      3. org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:188)[spring-retry-1.0.2.RELEASE.jar:na]
      3 frames
    18. Spring Batch Core
      TaskletStep$ChunkTransactionCallback.doInTransaction
      1. org.springframework.batch.core.step.item.BatchRetryTemplate.execute(BatchRetryTemplate.java:217)[spring-batch-core-2.2.2.RELEASE.jar:na]
      2. org.springframework.batch.core.step.item.FaultTolerantChunkProcessor.write(FaultTolerantChunkProcessor.java:423)[spring-batch-core-2.2.2.RELEASE.jar:na]
      3. org.springframework.batch.core.step.item.SimpleChunkProcessor.process(SimpleChunkProcessor.java:199)[spring-batch-core-2.2.2.RELEASE.jar:na]
      4. org.springframework.batch.core.step.item.ChunkOrientedTasklet.execute(ChunkOrientedTasklet.java:75)[spring-batch-core-2.2.2.RELEASE.jar:na]
      5. org.springframework.batch.core.step.tasklet.TaskletStep$ChunkTransactionCallback.doInTransaction(TaskletStep.java:395)[spring-batch-core-2.2.2.RELEASE.jar:na]
      5 frames
    19. Spring Tx
      TransactionTemplate.execute
      1. org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)[spring-tx-3.2.0.RELEASE.jar:3.2.0.RELEASE]
      1 frame
    20. Spring Batch Core
      StepContextRepeatCallback.doInIteration
      1. org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:267)[spring-batch-core-2.2.2.RELEASE.jar:na]
      2. org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:77)[spring-batch-core-2.2.2.RELEASE.jar:na]
      2 frames
    21. Spring Batch Infrastructure
      RepeatTemplate.iterate
      1. org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:368)[spring-batch-infrastructure-2.2.2.RELEASE.jar:na]
      2. org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:215)[spring-batch-infrastructure-2.2.2.RELEASE.jar:na]
      3. org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:144)[spring-batch-infrastructure-2.2.2.RELEASE.jar:na]
      3 frames
    22. Spring Batch Core
      TaskExecutorPartitionHandler$1.call
      1. org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:253)[spring-batch-core-2.2.2.RELEASE.jar:na]
      2. org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:195)[spring-batch-core-2.2.2.RELEASE.jar:na]
      3. org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:139)[spring-batch-core-2.2.2.RELEASE.jar:na]
      4. org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler$1.call(TaskExecutorPartitionHandler.java:136)[spring-batch-core-2.2.2.RELEASE.jar:na]
      4 frames
    23. Java RT
      Thread.run
      1. java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)[na:1.6.0_31]
      2. java.util.concurrent.FutureTask.run(Unknown Source)[na:1.6.0_31]
      3. java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)[na:1.6.0_31]
      4. java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)[na:1.6.0_31]
      5. java.lang.Thread.run(Unknown Source)[na:1.6.0_31]
      5 frames