How to use Bean as Datasource in Database connector 12-12-2014
Abstract • The main motto of this PPT is How to use Bean as Datasource in Database connector in our applications.
Introduction • The Database connector allows you to connect with almost any Java Database Connectivity (JDBC) relational database using a single interface for every case. The Database connector allows you to run diverse SQL operations on your database, including Select, Insert, Update, Delete, and even Stored Procedures.
Example
.mflow <?xml version="1.0" encoding="UTF-8"?> <mule xmlns:context="http://www.springframework.org/schema/context" 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"> <spring:beans> <spring:bean id="Bean1" name="Bean" class="org.enhydra.jdbc.standard.StandardDataSource"> <spring:property name="driverName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <spring:property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=test1;user=*****;password=******"/> </spring:bean> </spring:beans> <jdbc-ee:connector name="Database" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database" dataSource- ref="Bean1"/> <context:property-placeholder location="file:${mule_home}/conf/esb-ecomm-details.properties,file:${mule_home}/conf/esb-soa-vmes- db.properties,file:${mule_home}/conf/esb-ecom-sf-query-details.properties,file:${mule_home}/conf/esb-ecom-error.properties,file:${mule_home}/conf/esb- vpdm-details.properties"/> <flow name="DataBase_BeanFlow1" doc:name="DataBase_BeanFlow1"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8089" doc:name="HTTP" path="dbtest"/> <logger message="--entered" 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> <logger message="--after db--#[payload]" level="INFO" doc:name="Logger"/> </flow> </mule>
• Output: • INFO 2015-12-12 05:49:03,286 [main] org.mule.DefaultMuleContext: • ********************************************************************** • * Application: database_bean * • * OS encoding: Cp1252, Mule encoding: UTF-8 * • * * • * Agents Running: * • * Clustering Agent * • * JMX Agent * • ********************************************************************** • INFO 2015-12-12 05:49:03,288 [main] org.mule.module.launcher.MuleDeploymentService: • ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ • + Started app 'database_bean' + • ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ • INFO 2015-12-12 05:49:42,464 [[database_bean].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --entered • INFO 2015-12-12 05:49:42,473 [[database_bean].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'Database.dispatcher.543460185'. Object is: EEJdbcMessageDispatcher • INFO 2015-12-12 05:49:42,474 [[database_bean].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'Database.dispatcher.543460185'. Object is: EEJdbcMessageDispatcher • INFO 2015-12-12 05:49:42,770 [[database_bean].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --after db--[{subj=Hindi, marks=55, name=Ramesh, id=1}, {subj=English, marks=65, name=Mahesh, id=2}, {subj=science, marks=75, name=Pavan, id=3}, {subj=social, marks=45, name=Siva, id=4}]
• Flow of execution: 1. URL to trigger the service from browser http://localhost:8089/dbtest 2. Database component connects to the specific database, executes the select query and prints the result
References • https://docs.mulesoft.com/mule-user- guide/v/3.7/database-connector

How to use bean as datasource in database connector

  • 1.
    How to useBean as Datasource in Database connector 12-12-2014
  • 2.
    Abstract • The mainmotto of this PPT is How to use Bean as Datasource in Database connector in our applications.
  • 3.
    Introduction • The Databaseconnector allows you to connect with almost any Java Database Connectivity (JDBC) relational database using a single interface for every case. The Database connector allows you to run diverse SQL operations on your database, including Select, Insert, Update, Delete, and even Stored Procedures.
  • 4.
  • 5.
    .mflow <?xml version="1.0" encoding="UTF-8"?> <mulexmlns:context="http://www.springframework.org/schema/context" 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"> <spring:beans> <spring:bean id="Bean1" name="Bean" class="org.enhydra.jdbc.standard.StandardDataSource"> <spring:property name="driverName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/> <spring:property name="url" value="jdbc:sqlserver://localhost:1433;databaseName=test1;user=*****;password=******"/> </spring:bean> </spring:beans> <jdbc-ee:connector name="Database" validateConnections="true" queryTimeout="-1" pollingFrequency="0" doc:name="Database" dataSource- ref="Bean1"/> <context:property-placeholder location="file:${mule_home}/conf/esb-ecomm-details.properties,file:${mule_home}/conf/esb-soa-vmes- db.properties,file:${mule_home}/conf/esb-ecom-sf-query-details.properties,file:${mule_home}/conf/esb-ecom-error.properties,file:${mule_home}/conf/esb- vpdm-details.properties"/> <flow name="DataBase_BeanFlow1" doc:name="DataBase_BeanFlow1"> <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8089" doc:name="HTTP" path="dbtest"/> <logger message="--entered" 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> <logger message="--after db--#[payload]" level="INFO" doc:name="Logger"/> </flow> </mule>
  • 6.
    • Output: • INFO2015-12-12 05:49:03,286 [main] org.mule.DefaultMuleContext: • ********************************************************************** • * Application: database_bean * • * OS encoding: Cp1252, Mule encoding: UTF-8 * • * * • * Agents Running: * • * Clustering Agent * • * JMX Agent * • ********************************************************************** • INFO 2015-12-12 05:49:03,288 [main] org.mule.module.launcher.MuleDeploymentService: • ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ • + Started app 'database_bean' + • ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ • INFO 2015-12-12 05:49:42,464 [[database_bean].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --entered • INFO 2015-12-12 05:49:42,473 [[database_bean].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Initialising: 'Database.dispatcher.543460185'. Object is: EEJdbcMessageDispatcher • INFO 2015-12-12 05:49:42,474 [[database_bean].connector.http.mule.default.receiver.02] org.mule.lifecycle.AbstractLifecycleManager: Starting: 'Database.dispatcher.543460185'. Object is: EEJdbcMessageDispatcher • INFO 2015-12-12 05:49:42,770 [[database_bean].connector.http.mule.default.receiver.02] org.mule.api.processor.LoggerMessageProcessor: --after db--[{subj=Hindi, marks=55, name=Ramesh, id=1}, {subj=English, marks=65, name=Mahesh, id=2}, {subj=science, marks=75, name=Pavan, id=3}, {subj=social, marks=45, name=Siva, id=4}]
  • 7.
    • Flow ofexecution: 1. URL to trigger the service from browser http://localhost:8089/dbtest 2. Database component connects to the specific database, executes the select query and prints the result
  • 8.