Tech I Enjoy Logo
Custom Search
   Log In    OR    Register  


  Home >> Miscellaneous >> Mule-ESB-File-Transport

In this writeup I am going to walk you through the way I 
started to use Mule as ESB. I am assuming that you have
prior knowledge of Java, Mule and ESB basics.

If you want to have basic understanding of Mule, before
starting to go through this article, I recommend/suggest
to go through the documentation from Mule website.

Mule website -> http://www.mulesoft.com/ -> http://www.mulesoft.org/download-mule-esb-community-edition -> http://www.mulesoft.com/esb-integration-resources Mule as ESB has quite a large set of articles, documentation available on some third party sites as well. Other parties articles and documenation -> http://today.java.net/pub/a/today/2007/07/31/exploring-esb-patterns-with-mule.html -> http://www.devx.com/enterprise/Article/38115 -> http://www.javaworld.com/javaworld/jw-10-2009/091005-mule-cat.html Once you have basic understanding of Mule and its various functionalities, such as What is a Endpoint? What is a inbound/outbound endpoint? What is a Router? What is a Transport? What is a Message? What is a Transformation of Message? What is a Component? What is a Service? Answer to all these questions from Mule specific point of would make this example scenario much easier to uderstand. As I shall try to touch upon all these points with respect to some example code and not devote much time towards explaination of all these questions. In my understanding the very purpose of any ESB is to provide a platform for de-coupling various external applications to work seamlessly without worrying much about impact of any additional application introduced or updated, that is to be made part of the already running set of integrated applications. For example, suppose we have applications A, B, C are all operated and interacted among one another, being attached to some common protocol, A B C | | | ---------- ---------- Now with addition of another application D, in the above diagram should not mandate to look at already running and integrated applications A, B, C as far as any change is concerned. A B C | | | ---------- ---------- | D So in my thinking in the above pictorial representation, the parallel bars/dotted line can be represented by Mule as ESB. Suppose there is an application A that is writing a file to some folder within a filesystem, and as soon as this file is written onto the folder, another application D is designed to receive this file from some another folder from the same filesystem. This means both these applications are having separate folders to work with. Now how can these applications from this scenario be integrated so that there should not be any change in code on either applications. I know this is a very very simplified example just to understand how various pieces fit in here while using Mule as ESB. So let us try to achieve a file movement functionality using Mule, and this will provide a viable solution to the above scenario requirement where application A puts a file in a folder X , as soon as this file X is placed in the folder, listener from Mule ESB will pickup the file and pass this as message payload to another output folder Y, from this folder application D is supposed to pick up this file and do whatever it wants to do with this file. Just not to deviate from the main objective of this example, I shall only focus on the integration strategy as far as Mule is concerned. So here I have to provide configuration file to the Mule Framework and try to make Mule Framework listen for a file in an input file folder and automatically move any file that is placed in this input folder to another file folder, that's it. I started with the Mule standalone version 2.2.1 : As per my understanding, I followed following steps need not be the best way to setup Mule ESB, so please refer Mule specific documentation/License before use: Step 1: Setup Mule Standalone version 2.2.1 from the Zipped file from the Mule Download page: Step 2: Created a project folder structure as below, Sample |__ conf | |___ [sample-config.xml] | |__ src |___ source folder As I don't have any component that can be configured to be called in the process of this file transport mechanism, so the src folder is blank as of now. Step 3: So the sample-config.xml file is the only configuration file that I have to make this objective of file movement achieved, wow.... so simple, isn't it!!! Let us go through this sample-config.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:file="http://www.mulesource.org/schema/mule/file/2.2"
      xsi:schemaLocation="
       http://www.mulesource.org/schema/mule/core/2.2 
       http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
       http://www.mulesource.org/schema/mule/file/2.2
       http://www.mulesource.org/schema/mule/file/2.2/mule-file.xsd">

    <description>
        This is my first example/sample using Mule
    </description>
    <model name="sampleExample">
     <service name="sampleService">
      <inbound>
    	 <file:inbound-endpoint path="c:/test"/>
      </inbound>
        <outbound>
           <!-- <pass-through-router>-->
          <message-chunking-router>
           <file:outbound-endpoint path="c:/test1" 
	                          outputPattern="\[ORIGINALNAME\]"/>
          </message-chunking-router>
           <!-- </pass-through-router> -->
        </outbound>
     </service>
    </model>
</mule>
As you might have noticed above configuration, there is a schema definition for the file (2.2) with appropriate XSD file.xsd. We have got the model name as sampleExample, and service name as sampleService. inbound is the file with endpoint as the path for the directory (in this example it is c:/test, but it can be any folder per se), and the outbound is another folder with the path as c:/test1 for this example. The outbound is having a message-chunking-router, whereas a pass-through-router can be used instead. Step 4 : In order to run this example, I had to mention MULE_HOME environment variable as the root folder of the Mule installation local directory, and mention the sample-config.xml file as the config parameter to the mule.bat file from the Mule installation bin folder. mule.bat -config <<file-folder-path>>/sample-config.xml This is using the standalone version 2.2.1 of Mule. Step 5: Once the above process is runing successfully... I just placed a dummy file in the input folder, just to observe that this file is moved to the output folder automatically. Hope this helps in whatsoever manner you think it works. Please send in your suggestions/comments. If anything missed out , please let me know at techienjoy at yahoo . com
Some of the other Articles you may would like to read :
Android Smartphone apps :
Android Smartphone apps.
Android Gallery with SurfaceView :
Example showing Android Gallery
with SurfaceView and Spinner
Android ImageButton Example :
Example using ImageButton using Android Platform
and source code implementing this example.
Android Developments Projects :
Projects Development on Android Platform
Android Robots Example :
Example using Borots using Android Platform
and source code implementing this example.
Receiving Intent Notification Example :
Using Intent to send a notification 
on receiving an Intent on Android Platform
JSF example with source code :
JSF example of Tags and SelectBoxes 
with source code on Java Platform.
Android Benchmark Projects :
Projects Benchmark on Android Platform
Android Answers :
Answers of Questions on Android Platform
Android UIThread Animation Example :
Example using UI Thread for animating multiple images
in a sequence of flow.
Example of using Log4J Part 1 :
Log4j example with source code on Java Platform.
Android Service :
Android Service details
JSF example with source code :
JSF example of Tags and Data Table 
with source code on Java Platform.
JSF example on Resource Bundle :
JSF example of Resource Bundle with source code 
on Java Platform.
Android ImageView Example :
Example on using ImageView using 
Android Platform. A very simple to setup
and see it working.
Android ListView Example :
Example on Android ListView and
explained with a very simple scenario 
and article with appropriate screens 
captured and shown.
Android Interview :
Interview on Android Platform
Android Smartphone reviews :
Android Smartphone reviews.
Android Smartphone Note :
Android Smartphone Note.
Android Performance :
Performance on Android Platform
Android WebView Example :
Example using WebView using Android Platform
and source code implementing this example.
Android Gallery Example :
Example on Android Gallery View
explained with a very simple scenario
and appropriate screens captured and shown.
Android Image Gradient Merge :
Example using Images and Gradient Shape using
Android Platform.
Android Storage Example :
Example on using Android Storage.
Android ListView Example :
Example on Android ListView 
explained with a very simple scenario
whereby showing folder and files with
structure and appropriate screens 
captured and shown.
Android Internal memory :
Internal memory on Android Platform
Android Process :
Processes on Android Platform
Android Testers :
Testers on Android Platform
Android Batch Projects :
Projects Batch on Android Platform
Android AlertDialogExample :
Example using AlertDialog from Android Platform
and source code implementing this example.
Android Animation Example :
Example using Animation using Android Platform
and source code implementing this example.
Android Span Undelined Text Example :
Example using span for creating 
a hyperlinked Text using Android TextView
Android Orientation Sensor Example :
Example using Orientation Sensor using Android Platform
and source code implementing this example.
Android Interface :
Interfaces on Android Platform
Example of using Mule ESB JMS Transport :
Example of using Mule ESB JMS Transport with simple
to explain source code.
Android Cartoon Example :
Example using Cartoon using Android Platform
and source code implementing this example.
Android Database Example :
Example on using Android Database.
Android NFC Example :
Example using NFC using Android Platform
and source code implementing this example.
Android Smartphone list :
Android Smartphone list.
Android SQLite Example :
Example on using Android SQLite Example.
Android Sensors Example :
Example on Android Sensors Listed and
explained with a very simple scenario 
and article with appropriate screens 
captured and shown.
Android Smartphone OS :
Android Smartphone OS.
Android ListView with Click Event :
Example on using Android ListView with Click Event.
Using Quartz Scheduler Example :
Example on how to use Quartz Scheduler.
Android ViewFlipper Animation Example :
Example using ViewFlipper for animating multiple images
in a sequence of flow by appropriate flippering.
Android Preferences Example :
Example on using Android Preferences.
Android Smartphone online :
Android Smartphone online.
Log4j Interview Questions Answer :
List of Interview Questions and answer on Apache Log4j
Android ViewGroup Example :
Example using ViewGroup using Android Platform
and source code implementing this example.
Android GridView Example :
Example using GridView Widget using Android Platform
and source code implementing this example.
Android Data Access Example :
Example on using Android Data Access.
Android Edittext Example :
Example using EditText using Android Platform
and source code implementing this example.
Android Content Provider Example :
Example on using Android Content Provider.
Using Apache Commons Log With Example :
Example using Apache commons log 
with code and explained
Example of using Mule ESB File Transport :
Example of using Mule ESB File Transport with simple
to explain source code.
Android Custom View Example :
Example using Custom View using Android Platform
and source code implementing this example.
Android Interview Questions :
Interview Questions on Android Platform
Android Architectures :
Architectures on Android Platform
Android Tests :
Tests on Android Platform
JSF example with source code :
JSF example with source code on Java Platform.
Android Views Example :
Example using Views using Android Platform
and source code implementing this example.
JDBC Transaction Isolation Levels :
A short write-up on JDBC Transaction
Isolation showing ways to achieve
various Isolation levels using JDBC.
Android Drawing Example :
Example using Drawing using Android Platform
and source code implementing this example.
Android DatePickerDialog Example :
Example on Android DatePickerDialog
explained with a very simple scenario
and appropriate screens captured and shown.
Android Clouds :
Clouds Projects on Android Platform
Android SQL Example :
Example on using Android and SQL Example.
Android Designs :
Designs on Android Platform
Android RelativeLayout Example :
Example using RelativeLayout using Android Platform
and source code implementing this example.
Android Example on Downloading AnyFormat :
Example on ways to download any file with
any format using Android Platform.
Android Students Projects :
Students Projects on Android Platform
ESB Interview Questions Answer :
ESB Interview Questions Answer
Android Smartphone comparison :
Android Smartphone comparison.
Android Smartphone guide :
Android Smartphone guide.
Android Deploy :
Deploy Projects on Android Platform
Android Smartphone features :
Android Smartphone features.
Android Encryption :
Encryption Features on Android Platform
List of Examples on Various Technologies :
List of Examples on Various Technologies and Frameworks.
Android DDL Example :
Example on using Android and DDL Example.
Android Menu and MenuItem Example :
Example using Menu and MenuItem using Android Platform 
with code and explained
Android SQLLite Example :
Example on using Android SQLLite Example.
Android Intent Example :
Example using Intent from Android Platform
and source code implementing this example.
Android Questions :
Questions on Android Platform
Android Layout Example :
Android Example on using Layout
with source code Explained.
Android Example on Expandable ListView :
Example on using Expandable ListView
on Android Platform.A step by step source code
explained.
Android Canvas Example :
Example using Canvas using Android Platform
and source code implementing this example.
Android View LayoutParams Example :
Example using View LayoutParams using Android Platform
and source code implementing this example.
Android Tab View Example :
Example on Android Tab View
explained with a very simple scenario
and appropriate screens captured and shown.
Web Load Test with example :
Example using Load test functionalities 
with code and explained
Using Different Logger Files :
Example on using different log files 
using Apache Log4j Framework.
Android Gallery Example Enhanced :
Example on Android Gallery View
explained with a very simple scenario
and appropriate screens captured and shown.
Android ListView Example :
Example on Android List View
explained with a very simple scenario 
and article with appropriate screens 
captured and shown.
Android Customize Example :
Example using Customized Android Platform
and source code implementing this example.
DOJO Dialog Example :
Example on using DOJO Dialog
explained with a very simple scenario
Android Example on Expandable List :
Example on using Expandable ListView
on Android Platform.A step by step source code
explained.
Android Security Features :
Security Features on Android Platform
Android Grids :
Grids on Android Platform
Android Tech Example :
Tech related discussion on Android Technology
Android Interview Questions Answer :
List of Interview Questions and answer on Android Technology
Example of using Log4J Part 2 :
Log4j example with source code on Java Platform.
JSF example on validation :
JSF Validation with example with source code 
on Java Platform.
Android Draw Example :
Example using Draw using Android Platform
and source code implementing this example.
JSF example with source code :
JSF example of Tags and Code Walk-through 
with source code on Java Platform.
Wizard Framework using Java Platform :
Example using Custom Wizard Framework 
with code and explained
Google GWT Example :
Example using GWT and some design patterns and various
ways of implementing this example.
Android Data Example :
Example on using Android Data Example.
Android Examples :
List of ANDROid examples
with source code and output
screens captured and shown.
Android Intent Broadcast Receiver Example :
Example using Intents from Android Platform
using a Broadcast and Receiver Example
JSF example with source code :
JSF example of Tags and checkboxes 
with source code on Java Platform.
Android Customized ImageButton Example :
Example using ImageButton and customized to show
a different view altogether and source code implementing
this example.
Android Text to Speech Example :
Android Example on using Text
2 Speech conversion explained with
source code Explained.
Android Intent Broadcast Example :
Example using Intents from Android Platform
using a Broadcast Example
Android User Interface :
User Interface on Android Platform
Android Debug :
Debug Projects on Android Platform
Android Canvas Draw Example :
Example using Canvas for drawing multiple shapes
and using touch event listener as well.
Android TextView Link Example :
Example using a hyperlinked Text using Android TextView
Android Shared Preferences Example :
Example on using Android Shared Preferences.
DOJO Tree Widget Example :
Example on using DOJO Tree Widget
explained with a very simple scenario
Android TimePickerDialog Example :
Example on Android TimePickerDialog
explained with a very simple scenario
and appropriate screens captured and shown.
Example using Tag Library :
Example on how to code and use
Custom Tag Library on Java Platform.
Android Spinner Example :
Example using Spinner using Android Platform
and source code implementing this example.
Android DevelopersProjects :
Students Projects Developers on Android Platform
Android Bluetooth Example :
Example using Bluetooth using Android Platform
and source code implementing this example.


References :
Tags: TabHost and TabActivity Example on Android Platform
Tags: ListView Example on Android Platform
Tags: android sensors list
Tags: android listview example
Tags: android imageview example
Tags: Android example download any file sourcecode
Tags: android expandable list dynamically created example
Tags: android expandable list example
Tags: Android Gallery surfaceviews spinner
Tags: Android example download any file sourcecode
Tags: Android Layout Example
Tags: Android Text To Speech Example

Tags: DOJO Example Dialog
Tags: DOJO Example Tree Widget
Tags: different logger file log4j
Tags: JDBC Transaction isolation
Tags: event handling java code
Tags: example quartz scheduler
Tags: example tag library web application
Tags: Flex
Tags: index
Tags: inmemory image creation java awt
Tags: JSF Example Main
Tags: JSF Example Tags CheckBoxes
Tags: JSF Example Tags dataTable
Tags: JSF Example Tags SelectBoxes
Tags: JSF Example Tags Walkthrough
Tags: JSF Example Validation
Tags: JSF Resource Bundle
Tags: log4j example 1
Tags: log4j example
Tags: Miscellaneous
Tags: Mule ESB File Transport
Tags: Mule ESB JMS Transport
Tags: stream download batch
Tags: sychronized block wait notify
Tags: thread wait notify example
Tags: using apache commons log
Tags: web load test
Tags: Wizard Framework Idea Java


For any of the content, if you would like to bring it to notice for removal from this web site, please write to this web site administrator @ EMAIL-ID,
with appropriate concern and supporting proof(s). After thorough review and if found genuine concern, we would take appropriate action and 
remove disputed content from this web site within 24 hours starting from the time it has brought to our notice.


The content provided in this page is not warranted and/or guaranteed by techienjoy.com. techienjoy.com is not liable for any negative 
consequences that may result/arise from implementing directly/indirectly any information covered in these pages/articles/tutorials.

All contents of this site is/are written and provided on an "AS IS" basis, without WARRANTIES or conditions of any kind, either express
or implied, including, without limitation, merchantability, or fitness for a particular purpose. You are solely responsible for determining 
the appropriateness of using or refering this and assume any risks associated with this.

This web site is optimized for learning and training. Examples might be simplefied to improve reading and basic understanding only. 
This web site content are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. 
In spite of all precautions taken to avoid any typo in these pages, there might be some issues like grammatical mistakes and typos 
being observed in these pages, techienjoy.com extends sincerest apologies to all our visitors for the same.

While using this web site, you agree to have read and accepted our terms of use and privacy policy.


Android Examples || Android Training

© Copyright 2010-2012, TECHIENJOY, All Rights Reserved.      Privacy Policy     Disclaimer & Terms & Conditions