25
25
import static org .junit .Assert .assertTrue ;
26
26
import static org .mockito .ArgumentMatchers .any ;
27
27
import static org .mockito .Mockito .atLeast ;
28
- import static org .mockito .Mockito .mock ;
29
28
import static org .mockito .Mockito .spy ;
30
29
import static org .mockito .Mockito .verify ;
31
30
32
31
import java .util .ArrayList ;
33
32
import java .util .Collections ;
34
- import java .util .Date ;
35
33
import java .util .LinkedList ;
36
34
import java .util .List ;
37
35
import java .util .concurrent .CountDownLatch ;
42
40
import org .aopalliance .aop .Advice ;
43
41
import org .aopalliance .intercept .Joinpoint ;
44
42
import org .aopalliance .intercept .MethodInterceptor ;
45
- import org .junit .Rule ;
46
43
import org .junit .Test ;
47
44
import org .junit .runner .RunWith ;
48
45
66
63
import org .springframework .integration .core .MessageSource ;
67
64
import org .springframework .integration .scheduling .PollSkipAdvice ;
68
65
import org .springframework .integration .scheduling .SimplePollSkipStrategy ;
69
- import org .springframework .integration .test .rule .Log4j2LevelAdjuster ;
70
66
import org .springframework .integration .test .util .OnlyOnceTrigger ;
71
67
import org .springframework .integration .test .util .TestUtils ;
72
68
import org .springframework .integration .util .CompoundTrigger ;
94
90
@ DirtiesContext
95
91
public class PollerAdviceTests {
96
92
97
- @ Rule
98
- public Log4j2LevelAdjuster adjuster = Log4j2LevelAdjuster .trace ();
99
-
100
93
@ Autowired
101
94
private MessageChannel control ;
102
95
103
96
@ Autowired
104
97
private SimplePollSkipStrategy skipper ;
105
98
99
+ @ Autowired
100
+ private ThreadPoolTaskScheduler threadPoolTaskScheduler ;
101
+
102
+ @ Autowired
103
+ private BeanFactory beanFactory ;
104
+
106
105
@ Test
107
106
public void testDefaultDontSkip () throws Exception {
108
107
SourcePollingChannelAdapter adapter = new SourcePollingChannelAdapter ();
@@ -111,19 +110,9 @@ public void testDefaultDontSkip() throws Exception {
111
110
latch .countDown ();
112
111
return null ;
113
112
});
114
- adapter .setTrigger (new Trigger () {
115
-
116
- private boolean done ;
117
-
118
- @ Override
119
- public Date nextExecutionTime (TriggerContext triggerContext ) {
120
- Date date = done ? null : new Date (System .currentTimeMillis () + 10 );
121
- done = true ;
122
- return date ;
123
- }
124
- });
113
+ adapter .setTrigger (new OnlyOnceTrigger ());
125
114
configure (adapter );
126
- List <Advice > adviceChain = new ArrayList <Advice >();
115
+ List <Advice > adviceChain = new ArrayList <>();
127
116
PollSkipAdvice advice = new PollSkipAdvice ();
128
117
adviceChain .add (advice );
129
118
adapter .setAdviceChain (adviceChain );
@@ -153,18 +142,7 @@ public Message<Object> receive() {
153
142
}
154
143
CountDownLatch latch = new CountDownLatch (1 );
155
144
adapter .setSource (new LocalSource (latch ));
156
- class OneAndDone10msTrigger implements Trigger {
157
-
158
- private boolean done ;
159
-
160
- @ Override
161
- public Date nextExecutionTime (TriggerContext triggerContext ) {
162
- Date date = done ? null : new Date (System .currentTimeMillis () + 10 );
163
- done = true ;
164
- return date ;
165
- }
166
- }
167
- adapter .setTrigger (new OneAndDone10msTrigger ());
145
+ adapter .setTrigger (new OnlyOnceTrigger ());
168
146
configure (adapter );
169
147
List <Advice > adviceChain = new ArrayList <>();
170
148
SimplePollSkipStrategy skipper = new SimplePollSkipStrategy ();
@@ -179,7 +157,7 @@ public Date nextExecutionTime(TriggerContext triggerContext) {
179
157
skipper .reset ();
180
158
latch = new CountDownLatch (1 );
181
159
adapter .setSource (new LocalSource (latch ));
182
- adapter .setTrigger (new OneAndDone10msTrigger ());
160
+ adapter .setTrigger (new OnlyOnceTrigger ());
183
161
adapter .start ();
184
162
assertTrue (latch .await (10 , TimeUnit .SECONDS ));
185
163
adapter .stop ();
@@ -276,7 +254,7 @@ public Message<?> afterReceive(Message<?> result, MessageSource<?> target) {
276
254
public void testActiveIdleAdvice () throws Exception {
277
255
SourcePollingChannelAdapter adapter = new SourcePollingChannelAdapter ();
278
256
final CountDownLatch latch = new CountDownLatch (5 );
279
- final LinkedList <Long > triggerPeriods = new LinkedList <Long >();
257
+ final LinkedList <Long > triggerPeriods = new LinkedList <>();
280
258
final DynamicPeriodicTrigger trigger = new DynamicPeriodicTrigger (10 );
281
259
adapter .setSource (() -> {
282
260
triggerPeriods .add (trigger .getPeriod ());
@@ -307,7 +285,7 @@ public void testActiveIdleAdvice() throws Exception {
307
285
public void testCompoundTriggerAdvice () throws Exception {
308
286
SourcePollingChannelAdapter adapter = new SourcePollingChannelAdapter ();
309
287
final CountDownLatch latch = new CountDownLatch (5 );
310
- final LinkedList <Object > overridePresent = new LinkedList <Object >();
288
+ final LinkedList <Object > overridePresent = new LinkedList <>();
311
289
final CompoundTrigger compoundTrigger = new CompoundTrigger (new PeriodicTrigger (10 ));
312
290
Trigger override = spy (new PeriodicTrigger (5 ));
313
291
final CompoundTriggerAdvice advice = new CompoundTriggerAdvice (compoundTrigger , override );
@@ -336,10 +314,8 @@ public void testCompoundTriggerAdvice() throws Exception {
336
314
337
315
private void configure (SourcePollingChannelAdapter adapter ) {
338
316
adapter .setOutputChannel (new NullChannel ());
339
- adapter .setBeanFactory (mock (BeanFactory .class ));
340
- ThreadPoolTaskScheduler scheduler = new ThreadPoolTaskScheduler ();
341
- scheduler .afterPropertiesSet ();
342
- adapter .setTaskScheduler (scheduler );
317
+ adapter .setBeanFactory (this .beanFactory );
318
+ adapter .setTaskScheduler (this .threadPoolTaskScheduler );
343
319
}
344
320
345
321
@ Test
0 commit comments