mule soft for each component

8
How to use For Each Component

Upload: maheshy103

Post on 07-Jan-2017

247 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Mule Soft for each component

How to use For Each Component

Page 2: Mule Soft for each component

Abstract

• The main motto of this PPT is how to use For Each component in our applications.

Page 3: Mule Soft for each component

Introduction

• The Foreach scope splits a collection into elements and processes them iteratively through the processors embedded in the scope, then returns the original message to the flow.

Page 4: Mule Soft for each component

Example

Page 5: Mule Soft for each component

• .mflow<?xml version="1.0" encoding="UTF-8"?>

• <mule xmlns:jdbc-ee="http://www.mulesoft.org/schema/mule/ee/jdbc" xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd

• http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd• http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd• http://www.mulesoft.org/schema/mule/ee/jdbc http://www.mulesoft.org/schema/mule/ee/jdbc/current/mule-jdbc-ee.xsd">• <jdbc-ee:mssql-data-source name="MS_SQL_Data_Source" user=“****" password=“****"

url="jdbc:sqlserver://localhost;databaseName=test1" transactionIsolation="UNSPECIFIED" doc:name="MS SQL Data Source"/>• <jdbc-ee:connector name="Database" dataSource-ref="MS_SQL_Data_Source" validateConnections="true" queryTimeout="-1"

pollingFrequency="0" doc:name="Database"/>• <flow name="Database_ComponentFlow1" doc:name="Database_ComponentFlow1">• <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8087" path="database" doc:name="HTTP"/>• <logger message="--main flow--" level="INFO" doc:name="Logger"/>• <jdbc-ee:outbound-endpoint exchange-pattern="request-response" queryKey="select" queryTimeout="-1" connector-ref="Database"

doc:name="Database">• <jdbc-ee:query key="select" value="select * from mytable"/>• </jdbc-ee:outbound-endpoint>• <foreach collection="#[payload]" doc:name="For Each">• <logger message="--In foreach loop" level="INFO" doc:name="Logger"/>• <logger message="--Result--#[payload]" level="INFO" doc:name="Logger"/>• </foreach>• </flow>• </mule>

Page 6: Mule Soft for each component

• Output:INFO 2015-10-03 17:50:45,299 [main] org.mule.DefaultMuleContext: • **********************************************************************• * Application: Database Component *• * OS encoding: Cp1252, Mule encoding: UTF-8 *• * *• * Agents Running: *• * Clustering Agent *• * JMX Agent *• **********************************************************************• INFO 2015-10-03 17:50:45,300 [main] org.mule.module.launcher.MuleDeploymentService: • ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++• + Started app 'Database Component' +• ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++• INFO 2015-10-03 17:50:52,770 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --main flow--• INFO 2015-10-03 17:50:52,778 [[Database Component].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Initialising:

'Database.dispatcher.424429501'. Object is: EEJdbcMessageDispatcher• INFO 2015-10-03 17:50:52,779 [[Database Component].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Starting:

'Database.dispatcher.424429501'. Object is: EEJdbcMessageDispatcher• INFO 2015-10-03 17:50:53,042 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --In foreach

loop• INFO 2015-10-03 17:50:53,046 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --Result--

{subj=Hindi, marks=55, name=Ramesh, id=1}• INFO 2015-10-03 17:50:53,047 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --In foreach

loop• INFO 2015-10-03 17:50:53,049 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --Result--

{subj=English, marks=65, name=Mahesh, id=2}• INFO 2015-10-03 17:50:53,050 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --In foreach

loop• INFO 2015-10-03 17:50:53,052 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --Result--

{subj=science, marks=75, name=Pavan, id=3}• INFO 2015-10-03 17:50:53,053 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --In foreach

loop• INFO 2015-10-03 17:50:53,056 [[Database Component].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --Result--

{subj=social, marks=45, name=Siva, id=4}

Page 7: Mule Soft for each component

• Flow of execution:1. URL to trigger the service from browserhttp://localhost:8087/foreach 2. Database component connects to the specific database, executes the select query and prints the result (one by one) using for each component