SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Usando seu codigo Java no Mule – Part 1
Mule oferece um conjunto incrível de ferramentas prontas para usar que torna a
sua experiência no desenvolvimento de tão suave quanto possível. Enquanto
na maioria dos cenários, você terá mais do que suficiente, o que acontece se
você precisa dar um passo específico e você quiser personalizá-lo? Sou capaz
de adicionar o meu próprio código Java em meu fluxo mule? Enquanto ele é
altamente recomendável usar os componentes fornecidos pelo Mule
(componentes já testados), você é livre para incorporar suas operações Java /
POJOs / bibliotecas em mule! Abaixo descrevo uma lista de abordagens que eu
espero responder a maioria das suas perguntas! Para estes exemplos que
vamos usar uma classe POJO "Animal”.
public class Animal {
private String name;
public Animal(){
name="maxMule";
}
public Animal(String name){
this.name=name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public String toString() {
return "Animal [name=" + name + "]";
}
}
Implementing Callable Interface
Uma abordagem comum é fazer com que a nossa classe Java implementa a
interface org.mule.api.lifecycle.Callable . Nós apenas precisamos de substituir
as OnCall método que recebe como parâmetro o MuleEventContext . Usando
thisMuleEventContext objeto podemos acessar os nossos componentes de
mula . Por exemplo, " eventContext.getMessage ()" irá retornar a mensagem da
aplicação Mule .
No exemplo abaixo, estamos adicionando uma nova propriedade de sessão e
retornar um objeto "Animal" no Payload :
public class OnCallClass implements Callable {
@Override
public Object onCall(MuleEventContext eventContext) throws Exception {
eventContext.getMessage().setProperty("surname", "Martinez", PropertyScop
System.out.println("Session Variable updated n");
System.out.println("Returning Animal Object in the payload");
return new Animal();
}
}
view rawOnCallClass.java hosted with by GitHub
Agora vamos usar o <component class=””> para chamar nossa nova class no
mule app:
<flow name="usingCallable">
<http:listener config-ref="HTTP_Listener_Configuration" path="/onCall" doc:na
allowedMethods="GET" />
<component class="javacall.OnCallClass" doc:name="Java" />
<object-to-string-transformer doc:name="Object to String" />
</flow>
Usando uma Custom Message Processor
Podemos descrever um aplicativo Mule como uma mensagem de Mula,
desencadeada por qualquer forma, que passa por diferentes processadores
(passos).
A segunda abordagem define uma dessas etapas usando Java!
A nossa nova classe deve implementar
org.mule.api.processor.MessageProcessor . Essa classe tem o processo de
operação que recebe o MuleEvent semelhante à nossa primeira abordagem .
No exemplo abaixo , vamos receber este evento, definir uma carga diferente e
retornar o evento com o nosso novo Payload .
public class MessageProcessorCall implements MessageProcessor{
@Override
public MuleEvent process(MuleEvent event) throws MuleException {
System.out.println("n-------Process Executing, updating payload-------");
event.getMessage().setPayload("Payload Modified from Message processor")
System.out.println("n-------Process executed, payload updated-------");
return event;
}
}
Agora, vamos adicionar no nosso mule app usando <custom-processor
class=””> component:
<flow name="usingCustomMessageProcessor">
<http:listener config-ref="HTTP_Listener_Configuration" path="/customMessage" doc:nam
allowedMethods="GET"/>
<custom-processor class="javacall.MessageProcessorCall" doc:name="Custom Process
<object-to-string-transformer doc:name="Object to String"/>
</flow>

Mais conteúdo relacionado

Mais procurados

React + Flux (Alt)
React + Flux (Alt)React + Flux (Alt)
React + Flux (Alt)Cezar Luiz
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1Jeison Barros
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Eduardo Mendes
 
Minha aplicação Java vai pra nuvem. E agora?
Minha aplicação Java vai pra nuvem. E agora?Minha aplicação Java vai pra nuvem. E agora?
Minha aplicação Java vai pra nuvem. E agora?Felipe Mamud
 
Tomcat e Aplicações Web
Tomcat e Aplicações WebTomcat e Aplicações Web
Tomcat e Aplicações Webelliando dias
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Jeison Barros
 
Aumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootAumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootFernando Boaglio
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo WebservicesArthur Emanuel
 
1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbc1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbcJamille Madureira
 
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDBFlask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDBBruno Rocha
 
Flask for CMS/App Framework development.
Flask for CMS/App Framework development.Flask for CMS/App Framework development.
Flask for CMS/App Framework development.Bruno Rocha
 
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010lucashungaro
 

Mais procurados (20)

Desafio Rest API
Desafio Rest APIDesafio Rest API
Desafio Rest API
 
React + Flux (Alt)
React + Flux (Alt)React + Flux (Alt)
React + Flux (Alt)
 
Como criar um http proxy dinamico com mule parte 1
Como criar um http proxy dinamico com mule   parte 1Como criar um http proxy dinamico com mule   parte 1
Como criar um http proxy dinamico com mule parte 1
 
Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1Java Web 3 - Servlets e JSP 1
Java Web 3 - Servlets e JSP 1
 
Tom cat e eclipse
Tom cat e eclipseTom cat e eclipse
Tom cat e eclipse
 
Minha aplicação Java vai pra nuvem. E agora?
Minha aplicação Java vai pra nuvem. E agora?Minha aplicação Java vai pra nuvem. E agora?
Minha aplicação Java vai pra nuvem. E agora?
 
Tomcat e Aplicações Web
Tomcat e Aplicações WebTomcat e Aplicações Web
Tomcat e Aplicações Web
 
Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2Qual integration framework você deve usar parte 2
Qual integration framework você deve usar parte 2
 
Aumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring BootAumente sua produtividade com Spring Boot
Aumente sua produtividade com Spring Boot
 
Android - Consumindo Webservices
Android - Consumindo WebservicesAndroid - Consumindo Webservices
Android - Consumindo Webservices
 
React - Introdução
React - IntroduçãoReact - Introdução
React - Introdução
 
Rest workshop
Rest workshopRest workshop
Rest workshop
 
Spring boot
Spring bootSpring boot
Spring boot
 
Mulesoft
MulesoftMulesoft
Mulesoft
 
Java www
Java wwwJava www
Java www
 
1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbc1102 banco-de-dados-com-java-jdbc
1102 banco-de-dados-com-java-jdbc
 
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDBFlask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
Flask Full Stack - Desenvolvendo um CMS com Flask e MongoDB
 
Flask for CMS/App Framework development.
Flask for CMS/App Framework development.Flask for CMS/App Framework development.
Flask for CMS/App Framework development.
 
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010
Coisas que aprendi e quero passar adiante - RubyConf Brasil 2010
 
Servlets e jsp
Servlets e jspServlets e jsp
Servlets e jsp
 

Destaque

ESB introduction using Mule
ESB introduction using MuleESB introduction using Mule
ESB introduction using MuleKhasim Cise
 
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...YSF-2015
 
Science Slam: Let's Make Science Interesting
Science Slam: Let's Make Science InterestingScience Slam: Let's Make Science Interesting
Science Slam: Let's Make Science InterestingYSF-2015
 
C3D Labs. Customers & Partners
C3D Labs. Customers & PartnersC3D Labs. Customers & Partners
C3D Labs. Customers & PartnersArkadiy Kamnev
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2Jeison Barros
 
Mule salesforce integration solutions
Mule  salesforce integration solutionsMule  salesforce integration solutions
Mule salesforce integration solutionsvishnukanthro45
 
Estudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS ComumEstudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS ComumJeison Barros
 
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με Πρόπτωση Μήτρας 4ου Βαθμού
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με  Πρόπτωση Μήτρας 4ου ΒαθμούΚυστεοκήλη 3ου Βαθμού σε Συνδιασμό με  Πρόπτωση Μήτρας 4ου Βαθμού
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με Πρόπτωση Μήτρας 4ου ΒαθμούRadiology Archives
 
Mulesoft file connector
Mulesoft file connectorMulesoft file connector
Mulesoft file connectorkumar gaurav
 
Hipertensión pulmonar
Hipertensión pulmonarHipertensión pulmonar
Hipertensión pulmonarAngela Meza
 
Projectes d'indagació.
Projectes d'indagació.Projectes d'indagació.
Projectes d'indagació.jdomen44
 
Risk management during start up and commissioning of super critical once thro...
Risk management during start up and commissioning of super critical once thro...Risk management during start up and commissioning of super critical once thro...
Risk management during start up and commissioning of super critical once thro...HIMADRI BANERJI
 
Aprendre química a partir de contextos pseudocientífics.
Aprendre química a partir de contextos pseudocientífics.Aprendre química a partir de contextos pseudocientífics.
Aprendre química a partir de contextos pseudocientífics.cienciaicontroversia
 

Destaque (19)

ESB introduction using Mule
ESB introduction using MuleESB introduction using Mule
ESB introduction using Mule
 
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
Part I: Massive Open Online Courses as Revolutionary Chance for Ukraine. Part...
 
Science Slam: Let's Make Science Interesting
Science Slam: Let's Make Science InterestingScience Slam: Let's Make Science Interesting
Science Slam: Let's Make Science Interesting
 
C3D Labs. Customers & Partners
C3D Labs. Customers & PartnersC3D Labs. Customers & Partners
C3D Labs. Customers & Partners
 
Routing in mule
Routing in muleRouting in mule
Routing in mule
 
Nurdianto Wu Technical Consultant
Nurdianto Wu Technical ConsultantNurdianto Wu Technical Consultant
Nurdianto Wu Technical Consultant
 
Business english
Business englishBusiness english
Business english
 
Partes del ordenador
Partes del ordenadorPartes del ordenador
Partes del ordenador
 
Restful considerada prejudicial parte 2
Restful considerada prejudicial   parte 2Restful considerada prejudicial   parte 2
Restful considerada prejudicial parte 2
 
Mule salesforce integration solutions
Mule  salesforce integration solutionsMule  salesforce integration solutions
Mule salesforce integration solutions
 
Estudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS ComumEstudo de caso: Mule como um transporte JMS Comum
Estudo de caso: Mule como um transporte JMS Comum
 
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με Πρόπτωση Μήτρας 4ου Βαθμού
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με  Πρόπτωση Μήτρας 4ου ΒαθμούΚυστεοκήλη 3ου Βαθμού σε Συνδιασμό με  Πρόπτωση Μήτρας 4ου Βαθμού
Κυστεοκήλη 3ου Βαθμού σε Συνδιασμό με Πρόπτωση Μήτρας 4ου Βαθμού
 
Mulesoft file connector
Mulesoft file connectorMulesoft file connector
Mulesoft file connector
 
Hipertensión pulmonar
Hipertensión pulmonarHipertensión pulmonar
Hipertensión pulmonar
 
Projectes d'indagació.
Projectes d'indagació.Projectes d'indagació.
Projectes d'indagació.
 
Risk management during start up and commissioning of super critical once thro...
Risk management during start up and commissioning of super critical once thro...Risk management during start up and commissioning of super critical once thro...
Risk management during start up and commissioning of super critical once thro...
 
Aprendre química a partir de contextos pseudocientífics.
Aprendre química a partir de contextos pseudocientífics.Aprendre química a partir de contextos pseudocientífics.
Aprendre química a partir de contextos pseudocientífics.
 
Aυτόχθονες λαοί
Aυτόχθονες λαοίAυτόχθονες λαοί
Aυτόχθονες λαοί
 
αγγλια
αγγλιααγγλια
αγγλια
 

Semelhante a Usando seu codigo java no mule part 1

Servlets E Applet
Servlets E AppletServlets E Applet
Servlets E Appletasiramage
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no muleJeison Barros
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapterJeison Barros
 
Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppetpericles_junior
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetosFrancisco Santos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetosFer Nando
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetosFabiano Rodrigues
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPressLeandrinho Vieira
 
Além do Webdriver e Page Objects - Versão completa
Além do Webdriver e Page Objects - Versão completaAlém do Webdriver e Page Objects - Versão completa
Além do Webdriver e Page Objects - Versão completaCharles Kilesse
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVAWillian Magalhães
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontMichel Ribeiro
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppetDaniel Sobral
 

Semelhante a Usando seu codigo java no mule part 1 (20)

Java e Cloud Computing
Java e Cloud ComputingJava e Cloud Computing
Java e Cloud Computing
 
Servlets E Applet
Servlets E AppletServlets E Applet
Servlets E Applet
 
Servlets
ServletsServlets
Servlets
 
Substituindo o request message no mule
Substituindo o request message no muleSubstituindo o request message no mule
Substituindo o request message no mule
 
Explorando mule esb sftp adapter
Explorando mule esb sftp adapterExplorando mule esb sftp adapter
Explorando mule esb sftp adapter
 
Gerência de Configurações com o Puppet
Gerência de Configurações com o PuppetGerência de Configurações com o Puppet
Gerência de Configurações com o Puppet
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetos
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetos
 
Como criar um plugin para WordPress
Como criar um plugin para WordPressComo criar um plugin para WordPress
Como criar um plugin para WordPress
 
Precisamos falar sobre Gradle
Precisamos falar sobre GradlePrecisamos falar sobre Gradle
Precisamos falar sobre Gradle
 
OOP Java
OOP JavaOOP Java
OOP Java
 
Além do Webdriver e Page Objects - Versão completa
Além do Webdriver e Page Objects - Versão completaAlém do Webdriver e Page Objects - Versão completa
Além do Webdriver e Page Objects - Versão completa
 
Desenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVADesenvolvendo para WEB com JAVA
Desenvolvendo para WEB com JAVA
 
Http Servlet
Http ServletHttp Servlet
Http Servlet
 
Java20141219
Java20141219Java20141219
Java20141219
 
Evento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de FrontEvento Front End SP - Arquitetura de Front
Evento Front End SP - Arquitetura de Front
 
Aula2
Aula2Aula2
Aula2
 
Gestão automática de configuração usando puppet
Gestão automática de configuração usando puppetGestão automática de configuração usando puppet
Gestão automática de configuração usando puppet
 

Mais de Jeison Barros

Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1Jeison Barros
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soapJeison Barros
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1Jeison Barros
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e designJeison Barros
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonJeison Barros
 
Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule   parte 3Como criar um http proxy dinamico com mule   parte 3
Como criar um http proxy dinamico com mule parte 3Jeison Barros
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcJeison Barros
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosJeison Barros
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Jeison Barros
 
Consumindo soap wsdl
Consumindo soap wsdlConsumindo soap wsdl
Consumindo soap wsdlJeison Barros
 
Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleTrabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleJeison Barros
 
Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Jeison Barros
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationJeison Barros
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Jeison Barros
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkJeison Barros
 
Mule esb teste parte 1
Mule esb teste   parte 1Mule esb teste   parte 1
Mule esb teste parte 1Jeison Barros
 
Introdução ao mule esb para iniciantes
Introdução ao mule esb para iniciantesIntrodução ao mule esb para iniciantes
Introdução ao mule esb para iniciantesJeison Barros
 
Principais perguntas sobre mule esb parte 2
Principais perguntas sobre mule esb parte 2 Principais perguntas sobre mule esb parte 2
Principais perguntas sobre mule esb parte 2 Jeison Barros
 

Mais de Jeison Barros (20)

Pdfteste
PdftestePdfteste
Pdfteste
 
Introdução a RAML - parte 1
Introdução a RAML -  parte 1Introdução a RAML -  parte 1
Introdução a RAML - parte 1
 
O básico do uso de rest vs soap
O básico do uso de rest vs soapO básico do uso de rest vs soap
O básico do uso de rest vs soap
 
Restful considerada prejudicial - parte 1
Restful considerada prejudicial -  parte 1Restful considerada prejudicial -  parte 1
Restful considerada prejudicial - parte 1
 
Estratégia api e design
Estratégia api e designEstratégia api e design
Estratégia api e design
 
Transformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para jsonTransformando eficientemente resultados de uma consulta jdbc para json
Transformando eficientemente resultados de uma consulta jdbc para json
 
Como criar um http proxy dinamico com mule parte 3
Como criar um http proxy dinamico com mule   parte 3Como criar um http proxy dinamico com mule   parte 3
Como criar um http proxy dinamico com mule parte 3
 
Rest api vs SOAP
Rest api vs SOAPRest api vs SOAP
Rest api vs SOAP
 
Conectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbcConectando seu banco de dados usando jdbc
Conectando seu banco de dados usando jdbc
 
Habilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dadosHabilidades necessárias para integrar aplicativos e dados
Habilidades necessárias para integrar aplicativos e dados
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1
 
Consumindo soap wsdl
Consumindo soap wsdlConsumindo soap wsdl
Consumindo soap wsdl
 
Trabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do muleTrabalhando com anexos soap usando módulo cxf do mule
Trabalhando com anexos soap usando módulo cxf do mule
 
Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2Mule esb com framework cucumber part 2
Mule esb com framework cucumber part 2
 
Fluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplicationFluxo dinâmicos usando spring aplication
Fluxo dinâmicos usando spring aplication
 
Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2Data mapping com Groovy - Part 2
Data mapping com Groovy - Part 2
 
Relatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunkRelatório analytics de mula tempo de execução usando splunk
Relatório analytics de mula tempo de execução usando splunk
 
Mule esb teste parte 1
Mule esb teste   parte 1Mule esb teste   parte 1
Mule esb teste parte 1
 
Introdução ao mule esb para iniciantes
Introdução ao mule esb para iniciantesIntrodução ao mule esb para iniciantes
Introdução ao mule esb para iniciantes
 
Principais perguntas sobre mule esb parte 2
Principais perguntas sobre mule esb parte 2 Principais perguntas sobre mule esb parte 2
Principais perguntas sobre mule esb parte 2
 

Usando seu codigo java no mule part 1

  • 1. Usando seu codigo Java no Mule – Part 1 Mule oferece um conjunto incrível de ferramentas prontas para usar que torna a sua experiência no desenvolvimento de tão suave quanto possível. Enquanto na maioria dos cenários, você terá mais do que suficiente, o que acontece se você precisa dar um passo específico e você quiser personalizá-lo? Sou capaz de adicionar o meu próprio código Java em meu fluxo mule? Enquanto ele é altamente recomendável usar os componentes fornecidos pelo Mule (componentes já testados), você é livre para incorporar suas operações Java / POJOs / bibliotecas em mule! Abaixo descrevo uma lista de abordagens que eu espero responder a maioria das suas perguntas! Para estes exemplos que vamos usar uma classe POJO "Animal”. public class Animal { private String name; public Animal(){ name="maxMule"; } public Animal(String name){ this.name=name; } public String getName() {
  • 2. return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Animal [name=" + name + "]"; } } Implementing Callable Interface Uma abordagem comum é fazer com que a nossa classe Java implementa a interface org.mule.api.lifecycle.Callable . Nós apenas precisamos de substituir as OnCall método que recebe como parâmetro o MuleEventContext . Usando thisMuleEventContext objeto podemos acessar os nossos componentes de mula . Por exemplo, " eventContext.getMessage ()" irá retornar a mensagem da aplicação Mule . No exemplo abaixo, estamos adicionando uma nova propriedade de sessão e retornar um objeto "Animal" no Payload : public class OnCallClass implements Callable {
  • 3. @Override public Object onCall(MuleEventContext eventContext) throws Exception { eventContext.getMessage().setProperty("surname", "Martinez", PropertyScop System.out.println("Session Variable updated n"); System.out.println("Returning Animal Object in the payload"); return new Animal(); } } view rawOnCallClass.java hosted with by GitHub Agora vamos usar o <component class=””> para chamar nossa nova class no mule app: <flow name="usingCallable"> <http:listener config-ref="HTTP_Listener_Configuration" path="/onCall" doc:na allowedMethods="GET" /> <component class="javacall.OnCallClass" doc:name="Java" /> <object-to-string-transformer doc:name="Object to String" /> </flow> Usando uma Custom Message Processor Podemos descrever um aplicativo Mule como uma mensagem de Mula, desencadeada por qualquer forma, que passa por diferentes processadores (passos). A segunda abordagem define uma dessas etapas usando Java!
  • 4. A nossa nova classe deve implementar org.mule.api.processor.MessageProcessor . Essa classe tem o processo de operação que recebe o MuleEvent semelhante à nossa primeira abordagem . No exemplo abaixo , vamos receber este evento, definir uma carga diferente e retornar o evento com o nosso novo Payload . public class MessageProcessorCall implements MessageProcessor{ @Override public MuleEvent process(MuleEvent event) throws MuleException { System.out.println("n-------Process Executing, updating payload-------"); event.getMessage().setPayload("Payload Modified from Message processor") System.out.println("n-------Process executed, payload updated-------"); return event; } } Agora, vamos adicionar no nosso mule app usando <custom-processor class=””> component: <flow name="usingCustomMessageProcessor"> <http:listener config-ref="HTTP_Listener_Configuration" path="/customMessage" doc:nam allowedMethods="GET"/> <custom-processor class="javacall.MessageProcessorCall" doc:name="Custom Process <object-to-string-transformer doc:name="Object to String"/> </flow>