Я считаю, что проблема в том, что вы хотели приемного слушателя, а не рабочего слушателя.Область действия шага выходит за пределы области действия, в которой вы определили свой прослушиватель, поэтому шаг области недоступен - если бы это был прослушиватель задания, вам не понадобились бы заполнители, потому что вы могли бы получить переменные из текущего JobExecution.
Если вы вместо этого изменили свою конфигурацию следующим образом (при условии, что это слушатель шага, а не слушатель задания):
<batch:step id="step1" next="step2">
<batch:tasklet>
<batch:chunk reader="readerA" writer="writerA" commit-interval="1" />
<batch:listeners>
<batch:listener ref="listenerA" />
</batch:listeners>
</batch:tasklet>
</batch:step>
Я полагаю, что это даст вам правильный слушатель шага для шага "step1"аналогичная конфигурация, если вы хотите, чтобы слушатель для второго шага.