Skip to content

Commit 673cfe3

Browse files
martinfrancoisfmbenhassine
authored andcommitted
Refactor proxy hints for better type safety
Signed-off-by: martinfrancois <[email protected]>
1 parent 369652c commit 673cfe3

File tree

1 file changed

+21
-20
lines changed

1 file changed

+21
-20
lines changed

spring-batch-core/src/main/java/org/springframework/batch/core/aot/CoreRuntimeHints.java

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,16 @@
5555
import org.springframework.batch.core.job.JobInstance;
5656
import org.springframework.batch.core.job.parameters.JobParameter;
5757
import org.springframework.batch.core.job.parameters.JobParameters;
58+
import org.springframework.batch.core.launch.JobOperator;
59+
import org.springframework.batch.core.listener.ChunkListener;
60+
import org.springframework.batch.core.listener.ItemProcessListener;
61+
import org.springframework.batch.core.listener.ItemReadListener;
62+
import org.springframework.batch.core.listener.ItemWriteListener;
63+
import org.springframework.batch.core.listener.JobExecutionListener;
64+
import org.springframework.batch.core.listener.SkipListener;
65+
import org.springframework.batch.core.listener.StepExecutionListener;
66+
import org.springframework.batch.core.repository.JobRepository;
67+
import org.springframework.batch.core.repository.explore.JobExplorer;
5868
import org.springframework.batch.core.step.StepContribution;
5969
import org.springframework.batch.core.step.StepExecution;
6070
import org.springframework.batch.core.scope.context.JobContext;
@@ -70,6 +80,7 @@
7080
* @author Mahmoud Ben Hassine
7181
* @author Alexander Arshavskiy
7282
* @author Andrey Litvitski
83+
* @author François Martin
7384
* @since 5.0
7485
*/
7586
public class CoreRuntimeHints implements RuntimeHintsRegistrar {
@@ -90,35 +101,25 @@ public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
90101

91102
// proxy hints
92103
hints.proxies()
93-
.registerJdkProxy(builder -> builder
94-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.StepExecutionListener"))
104+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(StepExecutionListener.class))
95105
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
96-
.registerJdkProxy(builder -> builder
97-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.ItemReadListener"))
106+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(ItemReadListener.class))
98107
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
99-
.registerJdkProxy(builder -> builder
100-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.ItemProcessListener"))
108+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(ItemProcessListener.class))
101109
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
102-
.registerJdkProxy(builder -> builder
103-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.ItemWriteListener"))
110+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(ItemWriteListener.class))
104111
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
105-
.registerJdkProxy(builder -> builder
106-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.ChunkListener"))
112+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(ChunkListener.class))
107113
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
108-
.registerJdkProxy(builder -> builder
109-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.SkipListener"))
114+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(SkipListener.class))
110115
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
111-
.registerJdkProxy(builder -> builder
112-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.JobExecutionListener"))
116+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(JobExecutionListener.class))
113117
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
114-
.registerJdkProxy(builder -> builder
115-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.repository.JobRepository"))
118+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(JobRepository.class))
116119
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
117-
.registerJdkProxy(builder -> builder
118-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.explore.JobExplorer"))
120+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(JobExplorer.class))
119121
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class))
120-
.registerJdkProxy(builder -> builder
121-
.proxiedInterfaces(TypeReference.of("org.springframework.batch.core.launch.JobOperator"))
122+
.registerJdkProxy(builder -> builder.proxiedInterfaces(TypeReference.of(JobOperator.class))
122123
.proxiedInterfaces(SpringProxy.class, Advised.class, DecoratingProxy.class));
123124

124125
// reflection hints

0 commit comments

Comments
 (0)