WebSphere Message Broker, Versão 8.0.0.5 Sistemas operacionais: AIX, HP-Itanium, Linux, Solaris, Windows, z/OS

Consulte as informações sobre a versão mais recente do produto em IBM Integration Bus, Versão 9.0

Java Customizado

É possível usar a conversão Java™ customizada para inserir seu próprio código Java a ser usado no mapeamento.

No editor de Mapeamento de Dados Gráficos, selecione Java Customizado na lista Transformações Customizadas. Você pode então usar as propriedades de transformação para selecionar um método Java em uma classe Java a partir de um projeto Java em sua área de trabalho. Use o assistente de conteúdo da coluna Valores para ajudá-lo a designar os elementos necessários do esquema de origem.

A classe Java que você fornece para o mapa deve ter um método estático que retorne o tipo apropriado para o valor do elemento de saída e usa parâmetros do tipo apropriado para as entradas ligadas.

Por exemplo, o método Java a seguir pode ser usado em uma transformação Java customizada que tinha três elementos de saída, dos tipos xs:string, xs:decimal e xs:boolean e o elemento de saída sendo xs:decimal:

	public static BigDecimal calSomething(String memType, BigDecimal stdCost, boolean flag) {
		BigDecimal actualCost = stdCost;
		if (flag & memType.startsWith("gold")) {
			BigDecimal discRate = new BigDecimal(0.9);
			actualCost = actualCost.multiply(discRate);
		}			
		return actualCost;
	}

A tabela a seguir mostra os mapeamentos entre o tipo Esquema, o tipo Java e o tipo de árvore do WebSphere Message Broker:

Tabela 1. Mapeando o Tipo de Esquema, o Tipo Java e o Tipo de Árvore do WebSphere Message Broker
Tipo Esquema Tipo Java Tipo de Árvore de Mensagens do Broker
xs:anyURI java.lang.String CHARACTER
xs:base64Binary byte[] BLOB
xs:boolean boolean, java.lang.Boolean BOOLEAN
xs:byte byte, java.lang.Byte INTEGER
xs:date javax.xml.datatype.XMLGregorianCalendar DATE
xs:dateTime javax.xml.datatype.XMLGregorianCalendar TIMESTAMP
xs:dayTimeDuration javax.xml.datatype.Duration INTERVAL
xs:decimal java.math.BigDecimal DECIMAL
xs:double double, java.lang.Double FLOAT
xs:duration javax.xml.datatype.Duration INTERVAL
xs:float float, java.lang.Float FLOAT
xs:gDay javax.xml.datatype.XMLGregorianCalendar DATE
xs:gMonth javax.xml.datatype.XMLGregorianCalendar DATE
xs:gMonthDay javax.xml.datatype.XMLGregorianCalendar DATE
xs:gYear javax.xml.datatype.XMLGregorianCalendar DATE
xs:gYearMonth javax.xml.datatype.XMLGregorianCalendar DATE
xs:hexBinary byte[] BLOB
xs:int int, java.lang.Integer INTEGER
xs:integer java.math.BigInteger DECIMAL
xs:long long, java.lang.Long INTEGER
xs:negativeInteger java.math.BigInteger DECIMAL
xs:nonNegativeInteger java.math.BigInteger DECIMAL
xs:nonPositiveInteger java.math.BigInteger DECIMAL
xs:normalizedString java.lang.String CHARACTER
xs:positiveInteger java.math.BigInteger DECIMAL
xs:short short, java.lang.Short INTEGER
xs:string java.lang.String CHARACTER
xs:time javax.xml.datatype.XMLGregorianCalendar TIME
xs:unsignedByte Short INTEGER
xs:unsignedInt Long INTEGER
xs:unsignedLong java.math.BigInteger DECIMAL
xs:unsignedShort Int INTEGER
xs:yearMonthDuration javax.xml.datatype.Duration INTERVAL

Você também pode criar transformações Java Customizado para processar entradas e saídas que sejam matrizes ou tipos complexos; elas não podem ser convertidas de um tipo de esquema para um tipo Java definido, mostrado na tabela anterior.

Nesse caso, sua classe Java deve usar a classe MbElement para fazer referência ao elemento de entrada ou saída. Para obter informações sobre como usar Java e a classe MbElement, consulte Usando Classes de API Java para Transformações de Mapeamento Java Customizadas.

Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        Última atualização:
        
        Última atualização: 2015-02-28 18:31:52


Tópico de ReferênciaTópico de Referência | Versão 8.0.0.5 | cm28645_