diff --git a/muleesb/.gitignore b/muleesb/.gitignore
new file mode 100644
index 0000000000..541f92c42e
--- /dev/null
+++ b/muleesb/.gitignore
@@ -0,0 +1 @@
+# Add any directories, files, or patterns you don't want to be tracked by version control
\ No newline at end of file
diff --git a/muleesb/.mule/objectstore/b2fe1a90-c473-11e7-8eb5-98e7f44e8ac8/partition-descriptor b/muleesb/.mule/objectstore/b2fe1a90-c473-11e7-8eb5-98e7f44e8ac8/partition-descriptor
new file mode 100644
index 0000000000..0b8060f303
--- /dev/null
+++ b/muleesb/.mule/objectstore/b2fe1a90-c473-11e7-8eb5-98e7f44e8ac8/partition-descriptor
@@ -0,0 +1 @@
+DEFAULT_PARTITION
\ No newline at end of file
diff --git a/muleesb/.mule/queue-tx-log/tx1.log b/muleesb/.mule/queue-tx-log/tx1.log
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/muleesb/.mule/queue-tx-log/tx2.log b/muleesb/.mule/queue-tx-log/tx2.log
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/muleesb/.mule/queue-xa-tx-log/tx1.log b/muleesb/.mule/queue-xa-tx-log/tx1.log
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/muleesb/.mule/queue-xa-tx-log/tx2.log b/muleesb/.mule/queue-xa-tx-log/tx2.log
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/muleesb/mule-project.xml b/muleesb/mule-project.xml
new file mode 100644
index 0000000000..0d522b0141
--- /dev/null
+++ b/muleesb/mule-project.xml
@@ -0,0 +1,5 @@
+
+
+ muleesb
+
+
diff --git a/muleesb/pom.xml b/muleesb/pom.xml
new file mode 100644
index 0000000000..2c88bf83da
--- /dev/null
+++ b/muleesb/pom.xml
@@ -0,0 +1,214 @@
+
+
+
+ 4.0.0
+ com.mycompany
+ muleesb
+ 1.0.0-SNAPSHOT
+ mule
+ Mule muleesb Application
+
+
+ UTF-8
+ UTF-8
+
+ 3.8.1
+ 1.2
+ 1.3.6
+ 3.9.0
+
+
+
+
+
+ org.mule.tools.maven
+ mule-app-maven-plugin
+ ${mule.tools.version}
+ true
+
+ true
+
+
+
+ org.mule.tools
+ muleesb-maven-plugin
+ 1.0
+
+ 3.7.0
+ /home/abir/AnypointStudio/workspace/variablescopetest
+
+
+
+ deploy
+
+ start
+
+
+
+
+
+ org.codehaus.mojo
+ build-helper-maven-plugin
+ 1.7
+
+
+ add-resource
+ generate-resources
+
+ add-resource
+
+
+
+
+ src/main/app/
+
+
+ mappings/
+
+
+ src/main/api/
+
+
+
+
+
+
+
+ com.mulesoft.munit.tools
+ munit-maven-plugin
+ ${munit.version}
+
+
+ test
+ test
+
+ test
+
+
+
+
+
+ true
+
+ html
+
+
+
+
+
+
+
+ src/test/munit
+
+
+ src/test/resources
+
+
+
+
+
+
+
+
+ org.mule.modules
+ mule-module-spring-config
+ ${mule.version}
+ provided
+
+
+
+ org.mule.transports
+ mule-transport-file
+ ${mule.version}
+ provided
+
+
+ org.mule.transports
+ mule-transport-http
+ ${mule.version}
+ provided
+
+
+ org.mule.transports
+ mule-transport-jdbc
+ ${mule.version}
+ provided
+
+
+ org.mule.transports
+ mule-transport-jms
+ ${mule.version}
+ provided
+
+
+ org.mule.transports
+ mule-transport-vm
+ ${mule.version}
+ provided
+
+
+
+ org.mule.modules
+ mule-module-scripting
+ ${mule.version}
+ provided
+
+
+ org.mule.modules
+ mule-module-xml
+ ${mule.version}
+ provided
+
+
+
+ org.mule.tests
+ mule-tests-functional
+ ${mule.version}
+ test
+
+
+ org.mule.modules
+ mule-module-apikit
+ ${mule.version}
+ provided
+
+
+ com.mulesoft.munit
+ mule-munit-support
+ ${mule.munit.support.version}
+ test
+
+
+ com.mulesoft.munit
+ munit-runner
+ ${munit.version}
+ test
+
+
+
+
+
+ Central
+ Central
+ http://repo1.maven.org/maven2/
+ default
+
+
+ mulesoft-releases
+ MuleSoft Releases Repository
+ http://repository.mulesoft.org/releases/
+ default
+
+
+
+
+ mulesoft-release
+ mulesoft release repository
+ default
+ http://repository.mulesoft.org/releases/
+
+ false
+
+
+
+
diff --git a/muleesb/src/main/app/mule-app.properties b/muleesb/src/main/app/mule-app.properties
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/muleesb/src/main/app/mule-deploy.properties b/muleesb/src/main/app/mule-deploy.properties
new file mode 100644
index 0000000000..07eabe9cc6
--- /dev/null
+++ b/muleesb/src/main/app/mule-deploy.properties
@@ -0,0 +1,6 @@
+#** GENERATED CONTENT ** Mule Application Deployment Descriptor
+#Mon Nov 06 15:54:37 BDT 2017
+redeployment.enabled=true
+encoding=UTF-8
+domain=default
+config.resources=variablescopetest.xml
diff --git a/muleesb/src/main/app/variablescopetest.xml b/muleesb/src/main/app/variablescopetest.xml
new file mode 100644
index 0000000000..518b901084
--- /dev/null
+++ b/muleesb/src/main/app/variablescopetest.xml
@@ -0,0 +1,36 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/muleesb/src/main/java/com/baeldung/transformer/FromFlow2Component.java b/muleesb/src/main/java/com/baeldung/transformer/FromFlow2Component.java
new file mode 100644
index 0000000000..0e180062a7
--- /dev/null
+++ b/muleesb/src/main/java/com/baeldung/transformer/FromFlow2Component.java
@@ -0,0 +1,18 @@
+package com.baeldung.transformer;
+
+import org.mule.api.MuleEventContext;
+import org.mule.api.MuleMessage;
+import org.mule.api.lifecycle.Callable;
+
+public class FromFlow2Component implements Callable {
+
+ @Override
+ public Object onCall(MuleEventContext eventContext) throws Exception {
+
+ MuleMessage message = eventContext.getMessage();
+ message.setPayload("Converted in flow 2");
+
+ return message;
+ }
+
+}
diff --git a/muleesb/src/main/java/com/baeldung/transformer/InitializationTransformer.java b/muleesb/src/main/java/com/baeldung/transformer/InitializationTransformer.java
new file mode 100644
index 0000000000..1e1ad15be8
--- /dev/null
+++ b/muleesb/src/main/java/com/baeldung/transformer/InitializationTransformer.java
@@ -0,0 +1,29 @@
+package com.baeldung.transformer;
+
+import org.mule.api.MuleMessage;
+import org.mule.api.transformer.TransformerException;
+import org.mule.api.transport.PropertyScope;
+import org.mule.transformer.AbstractMessageTransformer;
+
+public class InitializationTransformer extends AbstractMessageTransformer {
+
+ @Override
+ public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException {
+ // TODO Auto-generated method stub
+
+ String payload = null;
+
+ try {
+ payload = message.getPayloadAsString();
+ }catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ System.out.println("Logged Payload: "+payload);
+ message.setPayload("Payload from Initialization");
+ message.setProperty("outboundKey", "outboundpropertyvalue",PropertyScope.OUTBOUND);
+
+
+ return message;
+ }
+}
\ No newline at end of file
diff --git a/muleesb/src/main/java/com/baeldung/transformer/InvokingMessageComponent.java b/muleesb/src/main/java/com/baeldung/transformer/InvokingMessageComponent.java
new file mode 100644
index 0000000000..105522e5b4
--- /dev/null
+++ b/muleesb/src/main/java/com/baeldung/transformer/InvokingMessageComponent.java
@@ -0,0 +1,16 @@
+package com.baeldung.transformer;
+
+import org.mule.api.MuleMessage;
+import org.mule.api.transformer.TransformerException;
+import org.mule.transformer.AbstractMessageTransformer;
+
+public class InvokingMessageComponent extends AbstractMessageTransformer {
+
+ @Override
+ public Object transformMessage(MuleMessage message, String outputEncoding) throws TransformerException {
+ // TODO Auto-generated method stub
+ String InboundProp = (String) message.getInboundProperty("outboundKey");
+ System.out.println("InboundProp:" + InboundProp);
+ return InboundProp;
+ }
+}
\ No newline at end of file
diff --git a/muleesb/src/main/resources/log4j2.xml b/muleesb/src/main/resources/log4j2.xml
new file mode 100644
index 0000000000..98c4b02433
--- /dev/null
+++ b/muleesb/src/main/resources/log4j2.xml
@@ -0,0 +1,33 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/muleesb/src/test/munit/variablescopetest-test-suite.xml b/muleesb/src/test/munit/variablescopetest-test-suite.xml
new file mode 100644
index 0000000000..43e410a327
--- /dev/null
+++ b/muleesb/src/test/munit/variablescopetest-test-suite.xml
@@ -0,0 +1,40 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/muleesb/src/test/resources/log4j2-test.xml b/muleesb/src/test/resources/log4j2-test.xml
new file mode 100644
index 0000000000..6351ae041c
--- /dev/null
+++ b/muleesb/src/test/resources/log4j2-test.xml
@@ -0,0 +1,35 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file