Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Informações
titleFique atento!

O TOTVS ESB não é mais ofertado por se tratar de uma solução legada. A nova solução para realizar integrações é o TOTVS iPaaS. Saiba mais detalhes aqui.


A finalidade do componente Aggregator é permitir que vários documentos (TXT ou XML) sejam agregados em uma única unidade de envio. A partir de um componente Aggregator existem duas possibilidades de conexão com outros componentes:

  1. Enviar a informação para algum componente sender (fileFile, emailEmail, ftpFTP, etc);

  2. Realizar a identificação e análise do conteúdo para que sejam tomadas algumas decisões.

O componente Aggregator está disponível a partir da atualização fluig Fluig ESB 12.3.x.

 

 

Parâmetros


CampoDescrição
NameInserir uma identificação para a configuração do componente.
completionSize
Completion SizeNúmero máximo de mensagens agregadas. Esta é definida com um valor numérico entre 1 e 9999.
completionTimeout
Completion TimeoutTempo, em segundos, que o componente deve ficar inativo (sem receber mensagens) antes de encerrar a agregação. Esta opção pode ser definida como um valor entre 1 e 9999. Não é possível utilizar esta opção juntamente com o parâmetro CompletionInterval, apenas um dos dois pode ser utilizado.
completionInterval
Completion IntervalPeríodo, em segundos, que o componente será agendado para encerrar a agregação. O ESB mantém uma tarefa em background que é ativada a cada período configurado. Não é possível utilizar esta opção juntamente com o parâmetro completionTimeout, apenas um deles pode ser utilizado.
usePersistence
Use PersistenceQuando selecionado, o ESB persistirá o conteúdo das
messagens
mensagens agregadas em memória secundária até que o processo de agregação seja concluído. Esta opção é recomendada quando houver o requisito de continuar agregando mensagens mesmo após o reinício do serviço do ESB para agregações que não foram concluídas anteriormente. As mensagens agregadas são mantidas em persistência local no diretório: ${ESB_HOME}/data/hawtdb.dat.
IgnoreInvalidCorrelationKeys
Ignore Invalid Correlation KeysQuando selecionado, configura o componente para ignorar os tokens de correlação, que não podem ser avaliados para um valor. Por padrão, o ESB vai lançar uma exceção quando não encontrar um identificador na mensagem para agregação, mas é possível ativar esta opção para ignorar esta situação.
TypeConfigura o componente para agregar tipos de conteúdos de mensagens distintas. Os valores possíveis são:
  • TXT;
  • XML.


Parâmetros TXT

CampoDescrição
TxtCorrelationType
Correlation TypeEspecifica qual a regra de agregação das mensagens. Pode assumir dois (2) valores:
    AllMessages
    • All Messages - agrega todas as mensagens;
    • Contains - agrega as mensagens de acordo com o token informado no parâmetro
    containsToken
    • Contains Token.
    containsToken
    Contains TokenAgrega as mensagens que contém o token especificado neste parâmetro.
    useLineBreak
    Use Line BreakInsere
    caracter
    caractere de quebra de linha nas mensagens.


    Parâmetros XML

    CampoDescrição
    XmlcorrelationType
    CorrelationTypeEspecificar qual o tipo de conteúdo da mensagem. Pode assumir dois (2) valores:
      AllMessages
      • All Messages - todas as mensagens;
      • XPath - agrega as mensagens de acordo com o token informado no parâmetro XPath.
      XPathAgrega as mensagens que contém o XPath informado neste parâmetro.
      rootTagName
      Root Tag NameCria uma tag XML raiz para a agregação contendo o nome especificado neste parâmetro.

       


      Exemplo 1

      A seguir é apresentado um exemplo de mensagens de entrada do componente Aggregator contendo duas notas fiscais distintas.

      Bloco de código
      <?xml version="1.0"?>
      <ESBMessage>
      	<MessageHeader>
      		<DocType>Nota Fiscal</DocType>
      		<DocVersion>Nota Fiscal</DocVersion>
      	</MessageHeader>
      	<infNFe>
      		<NFSer>009</NFSer>
      		<NFNum>0001</NFNum>
      		<NFUF>SC</NFUF>
      		<NFEmi>9999-12-31</NFEmi>
      		<NFTip>0001</NFTip>
      		<NFTot>9.999,99</NFTot>
      	</infNFe>
      </ESBMessage>
      
      <?xml version="1.0"?>
      <ESBMessage>
      	<MessageHeader>
      		<DocType>Nota Fiscal</DocType>
      		<DocVersion>Nota Fiscal</DocVersion>
      	</MessageHeader>
      	<infNFe>
      		<NFSer>009</NFSer>
      		<NFNum>0002</NFNum>
      		<NFUF>SC</NFUF>
      		<NFEmi>9999-12-31</NFEmi>
      		<NFTip>0001</NFTip>
      		<NFTot>9.999,99</NFTot>
      	</infNFe>
      </ESBMessage>

       


      Ao configurar os campos completionSize com o valor "2", Type com o valor "XML", XmlCorrelationType com o valor "XPath", XPath com o valor "/ESBMessage/infNFe/NFSer" e rootTagName com o valor "NFeLote", o componente unirá as mensagens originas em uma mensagem de saída conforme abaixo:

      ...

      Bloco de código
      <NFeLote>
      	<infNFe>
      		<NFSer>009</NFSer>
      		<NFNum>0001</NFNum>
      		<NFUF>SC</NFUF>
      		<NFEmi>9999-12-31</NFEmi>
      		<NFTip>0001</NFTip>
      		<NFTot>9.999,99</NFTot>
      	</infNFe>
      	<infNFe>
      		<NFSer>009</NFSer>
      		<NFNum>0002</NFNum>
      		<NFUF>SC</NFUF>
      		<NFEmi>9999-12-31</NFEmi>
      		<NFTip>0001</NFTip>
      		<NFTot>9.999,99</NFTot>
      	</infNFe>
      </NFeLote>
       

      Exemplo 2

      A seguir é apresentado um exemplo de duas mensagens de entrada do componente Aggregator contendo pedidos de clientes:

      ...

      Bloco de código
      PD|      48083|PEDIDO CLIENTE 3|23/11/2012|002 - Cliente Varejo|Açougue
      IT|       48083|                        2,00|01619002           |                      12,0000|                     12,0000
      IT|       48083|                        1,00|01619006           |                      30,0000|                     30,0000
      TT|      48083|                        42,0000
      END

      ...


      Para configurar o componente para agregar somente as informações do cliente código "002 - Cliente Varejo" acima em uma única mensagem, é necessário configurar as seguintes propriedades:

      ...

      containsToken = "002 - Cliente Varejo"

      useLineBreak = "true" 


      Mensagem de saída

      Bloco de código
      PD|      48082|PEDIDO CLIENTE 1|23/11/2012|Valdir|Panificadora XYZ
      IT|       48082|                        2,00|01619002           |                      3,0000|                      6,0000
      IT|       48082|                        1,00|01619006           |                      20,0000|                     20,0000
      TT|      48082|                        26,0000
      END
      PD|      48083|PEDIDO CLIENTE 2|23/11/2012|Marco|Açougue
      IT|       48083|                        2,00|01619002           |                      12,0000|                     12,0000
      IT|       48083|                        1,00|01619006           |                      30,0000|                     30,0000
      TT|      48083|                        42,0000
      END