Red Hat
Jul 29, 2015
by Christina Lin
This is the 2nd part of my getting started demo for JBoss FUSE 6.2, an update from my old demo project.  For people that are getting started to know Fuse, and wants to get their hands dirty and develop a JBoss Fuse project.

There is a series of blogs/videos, we will focus on playing with the integration framework in JBoss Fuse, which base on the open source project Apache Camel. And in the last video of the series I will deploy the integration projects onto the OSGi container and manage it with Fuse Fabric. You can find the post about receiving data here : Part one

The story behind the home loan demo is to prepare housing appraisals base on the content given real estate vendor. The appraisal needs to talk to local database, external google map API and also provide information through a web Restful API. We have divided this project into 4 independent integration applications, deploy in a distrusted environment, each handle single functions, and using message broker as the asynchronous medium to pass the message and data around.

First part of demo was to take in and process the information, first we separates the 2 kinds of files, because they are handled differently. And send it to separate messaging broker.

And for this part of the demo,  we are going to concentrate on processing the customer data, by reading the xml file and store it into a Postgres Database. There are many components in JBoss Fuse that you can choose to interact with DB. This demo uses the most simple and straight forward sql component, just like a normal sql insert in your java program, but less coding needed. The new SQL component in JBoss Fuse 6.2 can now take in dynamic variables through simple expression in sql queries, as before we need to set the data in header.  We are also going to take a look at the latest Data mapping tools, mapping data from xml to Java POJO.

Watch the video for complete instructions,


In second part of demo,  you will learn

Endpoint reading from activemq messaging broker
The ActiveMQ component allows messages to be sent to a JMS Queue or Topic; or messages to be consumed from a JMS Queue or Topic using Apache ActiveMQ.

  <bean id="activemq" class="org.apache.activemq.camel.component.ActiveMQComponent">
      <property name="brokerURL" value="tcp://localhost:61616"/>
      <property name="userName" value="admin"/>
      <property name="password" value="admin"/>

  </bean>

Data Mapping tools with JAXB transformation
Translate one data format(XML) into another(Pojo) using JAXB

SQL Endpoint 
The sql component allows you to work with databases using JDBC queries. Also setting datasource for the sql component

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
  <property name="driverClassName" value="org.h2.Driver"/>
  <property name="url" value="jdbc:h2:file:~/h2/homeloan;AUTO_SERVER=TRUE"/>
  <property name="username" value="sa"/>
  <property name="password" value=""/>
</bean>
 
<!-- configure the Camel SQL component to use the JDBC data source -->
<bean id="sql" class="org.apache.camel.component.sql.SqlComponent">
  <property name="dataSource" ref="dataSource"/>

</bean>

You can also find the source project in my github.
https://github.com/jbossdemocentral/jboss-fuse-homeloan
Original Post