From 58309f23e6d3dd8e53cac5641aafa181010fd973 Mon Sep 17 00:00:00 2001 From: xumengqi <2663479778@qq.com> Date: Sun, 14 Apr 2024 23:21:19 +0800 Subject: [PATCH 1/3] fix: Modify the exception type to NumberFormatException. --- .../transaction/interceptor/DefaultTransactionAttribute.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java index fec36fe11ce1..3d8803c10445 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java @@ -204,7 +204,7 @@ public void resolveAttributeStrings(@Nullable StringValueResolver resolver) { try { setTimeout(Integer.parseInt(timeoutString)); } - catch (RuntimeException ex) { + catch (NumberFormatException ex) { throw new IllegalArgumentException( "Invalid timeoutString value \"" + timeoutString + "\" - cannot parse into int"); } From 663123c9515734995829602e4c1b5c09dc47bb4e Mon Sep 17 00:00:00 2001 From: xumengqi <2663479778@qq.com> Date: Tue, 16 Apr 2024 21:14:35 +0800 Subject: [PATCH 2/3] fix: Modify the exception message. --- .../transaction/interceptor/DefaultTransactionAttribute.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java index 3d8803c10445..df8c9c6d527d 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java @@ -204,9 +204,9 @@ public void resolveAttributeStrings(@Nullable StringValueResolver resolver) { try { setTimeout(Integer.parseInt(timeoutString)); } - catch (NumberFormatException ex) { + catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid timeoutString value \"" + timeoutString + "\" - cannot parse into int"); + "Invalid timeoutString value \"" + timeoutString + "\": " + ex); } } } From d934c477d01bd73c7de7ff6fffe312d1c13fa127 Mon Sep 17 00:00:00 2001 From: xumengqi <2663479778@qq.com> Date: Tue, 16 Apr 2024 21:54:40 +0800 Subject: [PATCH 3/3] fix: Use the message of original exception. --- .../annotation/ScheduledAnnotationBeanPostProcessor.java | 6 +++--- .../interceptor/DefaultTransactionAttribute.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java b/spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java index 08369a2caa33..865083dfc942 100644 --- a/spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java +++ b/spring-context/src/main/java/org/springframework/scheduling/annotation/ScheduledAnnotationBeanPostProcessor.java @@ -410,7 +410,7 @@ private void processScheduledTask(Scheduled scheduled, Runnable runnable, Method } catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid initialDelayString value \"" + initialDelayString + "\" - cannot parse into long"); + "Invalid initialDelayString value \"" + initialDelayString + "\"; " + ex); } } } @@ -462,7 +462,7 @@ private void processScheduledTask(Scheduled scheduled, Runnable runnable, Method } catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid fixedDelayString value \"" + fixedDelayString + "\" - cannot parse into long"); + "Invalid fixedDelayString value \"" + fixedDelayString + "\"; " + ex); } tasks.add(this.registrar.scheduleFixedDelayTask(new FixedDelayTask(runnable, fixedDelay, delayToUse))); } @@ -488,7 +488,7 @@ private void processScheduledTask(Scheduled scheduled, Runnable runnable, Method } catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid fixedRateString value \"" + fixedRateString + "\" - cannot parse into long"); + "Invalid fixedRateString value \"" + fixedRateString + "\"; " + ex); } tasks.add(this.registrar.scheduleFixedRateTask(new FixedRateTask(runnable, fixedRate, delayToUse))); } diff --git a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java index df8c9c6d527d..148a9b0f550d 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java +++ b/spring-tx/src/main/java/org/springframework/transaction/interceptor/DefaultTransactionAttribute.java @@ -206,7 +206,7 @@ public void resolveAttributeStrings(@Nullable StringValueResolver resolver) { } catch (RuntimeException ex) { throw new IllegalArgumentException( - "Invalid timeoutString value \"" + timeoutString + "\": " + ex); + "Invalid timeoutString value \"" + timeoutString + "\"; " + ex); } } }