The pool size property was removed, meaning that the configuration of the <message-bus/> element's 'task-scheduler' attribute is now more explicit - but also more flexible - and hopefully less confusing. If none is provided, the default is created by the parser instead of within the MessageBus implementation.
The SimpleTaskScheduler (which still delegates to a TaskExecutor instance) replaces the scheduler classes that you were configuring, so that overall the configuration is actually simplified:
If you define such a bean definition then provide it to the message bus:
SimpleTaskScheduler taskScheduler = new SimpleTaskScheduler(anyTaskExecutor);
You may also be interested in the namespace support for creating a ThreadPoolTaskExecutor:
Hope that helps.
<thread-pool-task-executor id="taskExecutor" core-size="5" max-size="50"/>