MessageHistory
делает его на основе имени компонента:
private static Properties extractMetadata(NamedComponent component) {
Entry entry = new Entry();
String name = component.getComponentName();
String type = component.getComponentType();
if (name != null && !name.startsWith("org.springframework.integration")) {
entry.setName(name);
if (type != null) {
entry.setType(type);
}
}
if (!entry.isEmpty()) {
entry.setTimestamp(Long.toString(System.currentTimeMillis()));
}
return entry;
}
Поскольку вы не предоставляете явный id
для конечной точки, которая использует ваш FileMoveTransformer
, вы получаете этот сгенерированный компонентимя, основанное на конечной точке ConsumerEndpointFactoryBean
class.
Поскольку вы не показываете, как вы используете это FileMoveTransformer
, я могу злоупотреблять только предположением, что речь идет о IntegrationFlow
, и у вас есть что-то вроде этого:
.transform(new FileMoveTransformer())
Итак, рассмотрите возможность добавления id
туда, например:
.transform(new FileMoveTransformer(), e -> e.id("fileMoveTransformer"))
https://docs.spring.io/spring-integration/reference/html/java-dsl.html#java-dsl-endpoints
В противном случае, пожалуйста, поделитесь, как вы его используете, и мыпозволит вам узнать, что нужно изменить, чтобы добавить свой собственный идентификатор для компонента и сделать историю сообщений более читабельной.