Как передать функцию в качестве параметра в операции JAVA SDK для mule 4
Я пытаюсь создать собственный коннектор с помощью Java SDK от Mule. В основном то, что я пытаюсь сделать, - это добавить функциональность в текущую область кеширования, чтобы разработчики могли добавить условие, при котором область должна хранить что-то в кеше на основе конечного результата (и некоторых других функций тоже, но это то, на чем я в основном застрял). Например, сохранять ответ на запрос к базе данных, только если результат не пустой. Для этого я думаю передать функцию в качестве аргумента в операции, которая вернет логическое значение, и на основе результата операция сохранит результат в кеше. Окончательное определение функции операции будет выглядеть примерно так
public void cache(String key, Function(or something else?) storeInCache, Chain connectors, CompletionCallback<Object, Object> callback) {}
Можно ли делать то, что я пытаюсь сделать. Я открыт для любых предложений. Может быть есть альтернативный способ сделать это?
благодаря
1 ответ
Я не уверен, что вы можете "расширить" встроенный компонент, такой как область кеширования. Может быть, вы можете просто использовать выражение для этого аргумента. Если это не работает для вашего варианта использования, другие методы могут либо использовать динамическую конфигурацию, либо, альтернативно, определить storeInCache как ParameterResolver<>, чтобы отложить выполнение выражения.