Первое, что нужно понять, это то, что Java-API для Broker расположен поверх C-API и не дает вам полного доступа ко всем доступным функциям.
Во-вторых, это уродливо, я бы не использовал его для простых преобразований отображения, и, конечно, в наши дни также существует визуальный картограф.
Это сказало, что это все еще полезно в особых обстоятельствах. Одним из примеров, где я использовал его, было сопоставление слияния некоторого содержимого сообщения. В основном сценарий был получить Msg1, содержащий 2000+ элементов, а затем получить соответствующее сообщение Msg2, содержащее 2000+ элементов, который предоставил дополнительную информацию.
Таким образом, в ESQL вы начинаете с Msg1.element [1], а затем сканируете Msg2 на соответствие, чтобы оптимизировать, вы можете удалять элементы из Msg2 по мере их использования. Тем не менее, это было ужасно дорого с точки зрения процессора, особенно после того, как ситуация начала увеличиваться с 2000+ до 5000+. И это заняло много времени, более 5 минут для действительно больших сообщений.
Альтернативой было использование вычислительного узла Java и загрузка содержимого второго сообщения в объект дерева Java, что сократило время обработки примерно до 3 секунд.
Так что, если вы просто выполняете преобразование, держитесь подальше от вычислительного узла Java. Однако, если вы делаете что-то более сложное и / или интенсивно использующее процессор, обязательно попробуйте вычислительный узел Java.