Можно ли создать в модуле Mule 4 Scope с доступом к соединению?

Я следую примерам, включенным в документацию, связанную с созданием модуля и его различных компонентов. я смог создатьOperationsкоторые могут использовать соединения, но теперь я пытаюсь сделать что-то подобное сScopeвместо.

Я пробовал добавлять@Connection MyConnection connectionкак один из аргументов методов в моем модуле, как показано ниже.

          public void logDecorator(@Connection MyConnection connection, Chain operations,
        CompletionCallback<Object, Object> callback) {
            logger.debug("Invoking child operations");
            operations.process(
                result -> {
                    logger.debug("Done: {}", result.getOutput());
                    callback.success(result);
                },
                (error, previous) -> {
                    logger.error(error.getMessage());
                    callback.error(error);
                });
        }

Но когда я собираю модуль, я получаю сообщение об ошибке, что это не разрешено.

      Error executing: org.mule.runtime.extension.api.exception.IllegalOperationModelDefinitionException: Scope 'logDecorator' requires a connection, but that is not allowed, remove such parameter -> [Help 1]

Есть ли способ добавить ссылку на соединение, которое позволило бы мне использовать его внутриlogDecorator?

2 ответа

      public void logDecorator(Chain operations, CompletionCallback<Object, Object> callback) {
  logger.debug("Invoking child operations");

  // Get the connection that is defined for the scope
  MyConnection connection = getConnection();

  operations.process(
    result -> {
      logger.debug("Done: {}", result.getOutput());
      callback.success(result);
    },
    (error, previous) -> {
      logger.error(error.getMessage());
      callback.error(error);
    });
}

Как насчет чего-то подобного?

Области не могут получить соединение, как описано в документации :

У областей есть некоторые ограничения, которые отличают их от операций. По определению области не могут зависеть или получать конкретную конфигурацию или соединение.

Другие вопросы по тегам