@Bean public IdempotentReceiverInterceptor idempotentReceiverInterceptor() { return new IdempotentReceiverInterceptor( new MetadataStoreSelector( message -> message.getPayload().toString(), message -> message.getPayload().toString().toUpperCase(), store())); }
@Bean public IdempotentReceiverInterceptor idempotentReceiverInterceptor() { IdempotentReceiverInterceptor idempotentReceiverInterceptor = new IdempotentReceiverInterceptor(new MetadataStoreSelector(m -> m.getPayload().toString())); idempotentReceiverInterceptor.setDiscardChannelName("idempotentDiscardChannel"); idempotentReceiverInterceptor.setThrowExceptionOnRejection(true); return idempotentReceiverInterceptor; }
idempotentKeyStrategy.setBeanFactory(beanFactory); IdempotentReceiverInterceptor idempotentReceiverInterceptor = new IdempotentReceiverInterceptor(new MetadataStoreSelector(idempotentKeyStrategy, store)); idempotentReceiverInterceptor.setThrowExceptionOnRejection(true);
@Bean @ConditionalOnMissingBean public IdempotentReceiverInterceptor idempotentReceiverInterceptor(ConcurrentMetadataStore metadataStore) { ExpressionEvaluatingMessageProcessor<String> idempotentKeyStrategy = new ExpressionEvaluatingMessageProcessor<>( "headers['" + FileHeaders.REMOTE_DIRECTORY + "'].concat(payload)"); idempotentKeyStrategy.setBeanFactory(this.beanFactory); IdempotentReceiverInterceptor idempotentReceiverInterceptor = new IdempotentReceiverInterceptor(new MetadataStoreSelector(idempotentKeyStrategy, metadataStore)); idempotentReceiverInterceptor.setDiscardChannel(new NullChannel()); return idempotentReceiverInterceptor; }
@Bean @ConditionalOnMissingBean public IdempotentReceiverInterceptor idempotentReceiverInterceptor(ConcurrentMetadataStore metadataStore) { MessageProcessor<String> idempotentKeyStrategy = message -> { String key; if (message.getPayload() instanceof String) { key = (String) message.getPayload(); } else if (message.getHeaders().containsKey(FileHeaders.ORIGINAL_FILE)) { File originalFile = (File) message.getHeaders().get(FileHeaders.ORIGINAL_FILE); key = originalFile.getAbsolutePath(); } else { key = message.getHeaders().getId().toString(); } log.debug(String.format("Idempotent key %s", key)); return key; }; IdempotentReceiverInterceptor idempotentReceiverInterceptor = new IdempotentReceiverInterceptor(new MetadataStoreSelector(idempotentKeyStrategy, metadataStore)); idempotentReceiverInterceptor.setDiscardChannel(new NullChannel()); return idempotentReceiverInterceptor; }
@Bean public IdempotentReceiverInterceptor idempotentReceiverInterceptor() { IdempotentReceiverInterceptor idempotentReceiverInterceptor = new IdempotentReceiverInterceptor(new MetadataStoreSelector(m -> m.getPayload().toString())); idempotentReceiverInterceptor.setDiscardChannel(idempotentDiscardChannel()); idempotentReceiverInterceptor.setThrowExceptionOnRejection(true); return idempotentReceiverInterceptor; }