Primitivas de mediação customizadas permitem a você implementar sua própria lógica de mediação utilizando código Java ou chamando uma importação a partir de um fluxo de mediação.
Uma primitiva de mediação customizada é criada em duas fases. A primitiva é incluída e ligada no fluxo no editor de Fluxo de Mediação e o componente Java e a importação são criados no editor Montagem.
Você pode utilizar uma primitiva de mediação customizada para chamar um componente Java
ou uma importação externa ao fluxo de mediação. A primitiva de mediação customizada possui um terminal de entrada, um terminal de saída e um terminal de falha.
O terminal de entrada é ligado para aceitar uma mensagem e os terminais de saída e de falha são ligados para propagar a mensagem. A mensagem de entrada é transmitida como o parâmetro de entrada para o componente Java ou para a importação externa. Se a operação
retorna com sucesso, a resposta do componente externo ou importação é
propagada para o terminal de saída da primitiva. Se a operação retorna sem sucesso, o terminal de falha propaga a mensagem original, junto com quaisquer informações da exceção.
A imagem a seguir apresenta uma primitiva de mediação customizada configurada, mostrando o relacionamento entre as partes do editor de fluxo de mediação e do editor de montagem. Ela mostra o fluxo da mensagem conforme ela passa do nó de entrada
da primitiva de mediação customizada chamada Customizada, no editor do Fluxo de Mediação,
para o componente Java chamado NewCustomInterfacePartner,
no módulo de mediação no editor de Montagem. O código Java é chamado
pelo componente Java e a mensagem retorna para a primitiva
de mediação customizada e é propagada para o seu terminal de saída.

Estas são as partes que você precisa configurar para uma primitiva de mediação customizada:
- Uma primitiva de mediação customizada que é ligada em um fluxo de mediação. A primitiva
é criada no editor de Fluxo de Mediação.
- Propriedades de referência de serviço e de operação de serviço na primitiva de mediação customizada, criada no editor de Fluxo de Mediação. A referência de serviço especifica a interface que corresponde ao componente Java ou à importação que é chamada pela primitiva de mediação customizada
- Se sua lógica de mediação utilizar um código Java, você precisará de um componente Java para chamar o código Java. O componente Java deve estar no mesmo módulo de mediação da mediação customizada. O componente Java é criado no editor de Montagem.
- O código Java
que será implementado pelo componente Java criado no editor Snippet
(como um snippet visual ou Java ), ou no editor Java.
O código Java
pode residir no mesmo módulo de mediação do componente Java ou em uma biblioteca dependente.
- Se sua mediação customizada chamar algo externo ao módulo de mediação,
você precisará criar uma importação e associá-la à interface,
da maneira habitual. A importação é criada no editor de Montagem.
Há várias abordagens diferentes que permitem a você unir as partes que formam uma mediação customizada. É possível começar criando o componente Java no módulo de mediação antes de implementar o componentes do fluxo de mediação no editor de Fluxo de Mediação.
Ou começar com a criação de uma primitiva de mediação customizada e terminar com a criação do componente Java. O editor de Fluxo de Mediação
fornece uma série de assistentes para simplificar o processo de criação de uma mediação customizada. Os tópicos a seguir descrevem a abordagem utilizada pelos assistentes.
Primeiramente, definimos a primitiva de mediação customizada e sua operação de serviço, em seguida, incluímos a implementação Java e, finalmente, mesclamos a implementação no editor de Montagem.
Depois de ter entendido como aplicar a abordagem descrita aqui, você poderá adaptar facilmente os procedimentos para utilizar outra abordagem.