/** * Specify the {@link TransactionSynchronizationFactory} to attach a * {@link org.springframework.transaction.support.TransactionSynchronization} * to the transaction around {@code poll} operation. * @param transactionSynchronizationFactory the TransactionSynchronizationFactory to use. * @return the spec. */ public PollerSpec transactionSynchronizationFactory( TransactionSynchronizationFactory transactionSynchronizationFactory) { this.target.setTransactionSynchronizationFactory(transactionSynchronizationFactory); return this; }
/** * Specify the {@link TransactionSynchronizationFactory} to attach a * {@link org.springframework.transaction.support.TransactionSynchronization} * to the transaction around {@code poll} operation. * @param transactionSynchronizationFactory the TransactionSynchronizationFactory to use. * @return the spec. */ public PollerSpec transactionSynchronizationFactory( TransactionSynchronizationFactory transactionSynchronizationFactory) { this.target.setTransactionSynchronizationFactory(transactionSynchronizationFactory); return this; }
/** * Specify the {@link TransactionSynchronizationFactory} to attach a * {@link org.springframework.transaction.support.TransactionSynchronization} * to the transaction around {@code poll} operation. * @param transactionSynchronizationFactory the TransactionSynchronizationFactory to use. * @return the spec. */ public PollerSpec transactionSynchronizationFactory( TransactionSynchronizationFactory transactionSynchronizationFactory) { this.target.setTransactionSynchronizationFactory(transactionSynchronizationFactory); return this; }
/** * Specify the {@link TransactionSynchronizationFactory} to attach a * {@link org.springframework.transaction.support.TransactionSynchronization} * to the transaction around {@code poll} operation. * @param transactionSynchronizationFactory the TransactionSynchronizationFactory to use. * @return the spec. */ public PollerSpec transactionSynchronizationFactory( TransactionSynchronizationFactory transactionSynchronizationFactory) { this.target.setTransactionSynchronizationFactory(transactionSynchronizationFactory); return this; }
private Consumer<SourcePollingChannelAdapterSpec> consumerSpecWithDelete(Advice advice) { final PollerMetadata poller = new PollerMetadata(); BeanUtils.copyProperties(this.defaultPoller, poller, "transactionSynchronizationFactory"); TransactionSynchronizationProcessor processor = new RemoteFileDeletingTransactionSynchronizationProcessor( this.sftpTemplate, this.properties.getRemoteFileSeparator()); poller.setTransactionSynchronizationFactory(new DefaultTransactionSynchronizationFactory(processor)); poller.setAdviceChain(Collections.singletonList(new TransactionInterceptor( new PseudoTransactionManager(), new MatchAlwaysTransactionAttributeSource()))); if (advice != null) { poller.setAdviceChain(Arrays.asList(advice)); } return spec -> spec.poller(poller); }