Description:
Here I used Database connector of MYSQL which gets Map as output. Then I used
Transformer to convert Map to CSV and stored in csv file at path specified.
MuleConfig.xml
<jdbc-ee:mysql-data-source name="MySQL_Data_Source"
user="root" password="root"
url="jdbc:mysql://localhost:3306/test" transactionIsolation="UNSPECIFIED" doc:name="MySQL Data Source"/>
<jdbc-ee:connector name="Database_Mysql"
dataSource-ref="MySQL_Data_Source" validateConnections="true" queryTimeout="-1"
pollingFrequency="0" doc:name="Database"/>
<http:listener-config name="HTTP_Listener_Configuration"
host="localhost" port="8089"
doc:name="HTTP Listener Configuration"/>
<db:mysql-config name="MySQL_Configuration"
host="localhost" port="3306"
user="root" password="root"
database="test" doc:name="MySQL
Configuration"/>
<data-mapper:config name="Map_To_CSV"
transformationGraphPath="map_to_csv.grf"
doc:name="Map_To_CSV"/>
<flow name="csvtodbFlow">
<http:listener config-ref="HTTP_Listener_Configuration"
path="/" allowedMethods="GET"
doc:name="HTTP"/>
<db:select config-ref="MySQL_Configuration"
doc:name="Database">
<db:dynamic-query/>
</db:select>
<logger message="#[payload]"
level="INFO" doc:name="Logger"/>
<data-mapper:transform config-ref="Map_To_CSV"
metadata:id="def2d8b9-62a2-442f-8be1-956d11615b04"
doc:name="Map To CSV"/>
<file:outbound-endpoint path="C:/Users/sreddi/Desktop/output"
responseTimeout="10000" doc:name="File"
outputPattern="swamy.csv"/>
</flow>
Output:
Getting Data from SalesForce
Description:
Here I used salesforce connector to
fetch the data from salesforce where I get Object. So I used transformer
Object to Json and set one logger to see output.
Flow
MuleConfiguration.xml
<http:listener-config name="HTTP_Listener_Configuration"
host="localhost" port="8081"
doc:name="HTTP Listener Configuration"/>
<sfdc:config name="Salesforce__Basic_authentication"
username="swamy.rhythm@gmail.com" password="reddi@b42" securityToken="AHHE7QziON3yR53WgCUx8M83t"
doc:name="Salesforce: Basic authentication"/>
<flow name="getsfdcaccdataFlow">
<http:listener config-ref="HTTP_Listener_Configuration"
path="/sfdc" allowedMethods="GET"
doc:name="HTTP"/>
<sfdc:query config-ref="Salesforce__Basic_authentication"
query="dsql:SELECT
BillingAddress,BillingCity,BillingCountry,BillingPostalCode,BillingState,Name
FROM Account" doc:name="Salesforce"/>
<json:object-to-json-transformer doc:name="Object to
JSON"/>
<logger level="INFO" doc:name="Logger"
message="#[payload]"/>
Exposing Json REST
Service with List of orders
Description:Here I used RestService with Json as output. With
display List of orders
[
{
"custmer": "Kumar",
"address": "Bangalore",
"order-no": 15,
"bill-amount": "$2000"
},
{
"custmer": "Swamy",
"address": "HYDERABAD",
"order-no": 15,
"bill-amount": "$2000"
}
]
Description:
Based on Language selected it trigger the particular flow.
If English then English Flow, if Hindi then triggers Hindi
flow else default will be Telugu Flow
FLOW
<http:listener-config name="HTTP_Listener_Configuration"
host="localhost" port="8081"
doc:name="HTTP Listener Configuration"/>
<flow name="choiceconnpocFlow">
<http:listener config-ref="HTTP_Listener_Configuration"
path="/" doc:name="HTTP"/>
<logger level="INFO"
doc:name="Logger" message="english"/>
<set-variable variableName="language"
value="english" doc:name="Variable"/>
<choice doc:name="Choice">
<when expression="#[flowVars.language=='english']">
<set-payload doc:name="Set
English Payload" value="#['English'.toUpperCase()]"/>
<flow-ref name="choiceconnpocFlow1"
doc:name="English flow"/>
</when>
<when expression="#[flowVars.language=='hindi']">
<set-payload doc:name="Set Hindi
Payload" value="#['Hindi'.toUpperCase()]"/>
<flow-ref name="choiceconnpocFlow2"
doc:name="Hindi flow"/>
</when>
<otherwise>
<set-variable doc:name="Variable"
value="telugu" variableName="language"/>
<set-payload doc:name="Set Telugu
Payload" value="#['Telugu'.toUpperCase()]"/>
<flow-ref name="choiceconnpocFlow3"
doc:name="Telugu Flow"/>
</otherwise>
</choice>
</flow>
<flow name="choiceconnpocFlow1">
<poll doc:name="Poll">
<logger message="English Flow
executed -----" level="INFO"
doc:name="Logger"/>
</poll>
<logger level="INFO"
doc:name="Logger"/>
</flow>
<flow name="choiceconnpocFlow3">
<poll doc:name="Poll">
<logger level="INFO"
doc:name="Logger"/>
</poll>
<logger level="INFO"
doc:name="Logger"/>
</flow>
<flow name="choiceconnpocFlow2">
<poll doc:name="Poll">
<logger level="INFO"
doc:name="Logger"/>
</poll>
<logger level="INFO"
doc:name="Logger"/>
</flow>
No comments:
Post a Comment