<?xml version="1.0" encoding="utf-8"?>
  <feed xmlns="http://www.w3.org/2005/Atom">
    <link href="https://javastreets.com/feed.xml" rel="self" type="application/atom+xml"/>
    <link href="https://javastreets.com" rel="alternate" type="text/html"
          hreflang="en"/>
    <id>https://javastreets.com/feed.xml</id>
    <title>{Java} Streets</title>
    <subtitle>News and update feed for JavaStreets.com. Learn to read/write java from the streets. Find articles and tutorials about java and any programming language.</subtitle>
    <author>
      <name>Manik Magar</name>
      <uri>https://manik.magar.me</uri>
    </author>
    <updated>2024-03-10T04:55:59Z</updated>
      <entry>
        <title>Getting Started with Failsafe Java lib</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/failsafe-lib.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2023:02.5,632</id>
        <updated>2023-02-09T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Every application requires handling failures and retries. Failsafe Java library provides some concise APIs for handling anything. In this post, we will learn how to use this library for our projects.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/failsafe-lib.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Getting Started with Maven Build Cache Extension</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/maven/maven-build-cache-extension.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2023:01.11,008</id>
        <updated>2023-01-29T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Apache Maven 4 introduces a new feature - Build Cache Extension. This extension adds incremental build execution and caching capabilities that can noticeably improve the build performance. In this post, we will take a look at how to get started with Build cache extension.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/maven/maven-build-cache-extension.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Git Versioner Maven Extension</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/git-versioner-maven-extension.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2023:01.9,984</id>
        <updated>2023-01-25T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Maven projects are usually versioned in pom.xml by manipulating version tags. This may require a manual changes to the file. Git Versioner Maven Extension can use the git commit messages to auto-calculate project version without any maintenance to project pom.xml.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/git-versioner-maven-extension.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Get Started with DataWeave</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/dataweave/dataweave-getting-started.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2022:10.11,520</id>
        <updated>2022-10-29T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;DataWeave transformation language is on its opensource journey. There is a large ecosystem around it. So where can you start your data transformation journey using DataWeave?&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/dataweave/dataweave-getting-started.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Getting Started with Maven Wrapper</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/maven-wrapper.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2021:12.5,888</id>
        <updated>2021-12-30T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;How do you help users for installing Apache Maven required to build your maven-based project? In this post, we will see how Maven Wrapper can simplify this task.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/maven-wrapper.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2 playground - Working with multiple Inputs, Vars, Attributes</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/dataweave/mule-dataweave-playground-inputs-variables-attributes-modules.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2021:06.20,736</id>
        <updated>2021-06-15T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;DataWeave playground is my favorite tool for creating and trying out DataWeave scripts. It is very handy for writing some quick transformation scripts. Real world scripts will often work with more than one inputs, make use of flow variables, or attributes. Can playground work with such scripts? Let's explore it in this post.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/dataweave/mule-dataweave-playground-inputs-variables-attributes-modules.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2 - Nested Data Structure Traversal and enrichment with state</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/dataweave/mule-dataweave-nested-data-traversal-with-reduce.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2021:04.17,408</id>
        <updated>2021-04-18T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;When a nested data structure is provided, can we traverse and enrich it in dataweave? What if we need to know the state of last transformed record to map next one? Let's check it out in this post.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/dataweave/mule-dataweave-nested-data-traversal-with-reduce.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2 - Finding Quarter of the Year</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/dataweave/mule-dataweave-find-date-quarter.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2021:02.13,312</id>
        <updated>2021-02-22T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;We often do date manipulations in DataWeave. What if we need to find quarter of the year for a given date? What if quarters start at February? How to do it in DataWeave? Let's explore it in this post.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/dataweave/mule-dataweave-find-date-quarter.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2 - Transform with flattened keys</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/dataweave/mule-dataweave-flattened-key-transformations.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2021:02.16,384</id>
        <updated>2021-02-17T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;What if you have a map of flattened keys like `address.firstName` and need to transform hierarchical data set using that? Can you do that mapping in DataWeave 2? Can this be done with tail-recursion and reusable way? Let's explore it in this post.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/dataweave/mule-dataweave-flattened-key-transformations.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2 - Generate Fibonacci sequence</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/dataweave/mule-dataweave-fibonacci-sequence.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2021:02.13,568</id>
        <updated>2021-02-05T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;In this post, we will see how to generate a Fibonacci sequence using DataWeave 2.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/dataweave/mule-dataweave-fibonacci-sequence.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Faster Feedback with Java, JBang, and TextMate</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/java-jbang-textmate.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2020:08.7,424</id>
        <updated>2020-08-08T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;In previous post "Using Java for scripting, with Jbang", we learned about JBang - a new way of writing scripts with Java. In this post, we will see how we can improve on compile-and-run feedbacks using TextMate editor.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/java-jbang-textmate.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2 - JSON Writer Properties</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/dataweave/mule-dataweave-2-writer-properties-json.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2020:06.15,104</id>
        <updated>2020-06-26T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;In this post, we will look at DataWeave's JSON Writer properties. DataWeave 2 is a powerful transformation language. It allows your to convert data from one format to another. When doing these data transformations, you may want to control how the output is written. Let's learn how you can do that.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/dataweave/mule-dataweave-2-writer-properties-json.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Introducing - Mule Flow Diagrams [mulefd]</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/mule-flow-diagrams.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2020:04.7,168</id>
        <updated>2020-04-17T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;A Mule application can easily have multiple configuration files with number of flows and sub-flows that are spread across those files. When analyzing such mule applications, it can get difficult to see the complete data processing flow and their connections. Have you ever wished to visualize your flow connections? How does a message pass through your application?  ♪┏(・o･)┛♪┗ ( ･o･) ┓♪ Introducing - Mule flow diagrams!&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/mule-flow-diagrams.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Java 14 - Pattern Matching for InstanceOf (Preview)</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/java14/jep305-pattern-matching-for-instanceof.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2020:03.14,080</id>
        <updated>2020-03-22T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Java release train is running and delivering new java features faster that the past. Java 14 became GA on March 17, 2020 with some new features. In this post, we will look at a preview feature introduced with Java 14 - Pattern Matching for InstanceOf.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/java14/jep305-pattern-matching-for-instanceof.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Using Java for scripting, with Jbang</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/java-jbang-cloudflare-ddns.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2020:01.9,216</id>
        <updated>2020-01-22T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Want to use Java for scripting? Meet - j'bang! A new tool in the wild that makes it easy to use your java code as a script. I have used a custom bash script for writing a cloudflare DDNS update. In this post, we will explore if we can use a java class to do that.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/java-jbang-cloudflare-ddns.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2.2: Compare lists using Arrays module</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/compare-arraylists-with-dataweave-2-joins.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2019:09.13,056</id>
        <updated>2019-09-29T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule Runtime 4.2 was released with DataWeave 2.2 version. Lots of new useful functions are added in Arrays module. In this post, we will see how can we compare two arraylists to find matched and unmatched objects.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/compare-arraylists-with-dataweave-2-joins.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2.2 and Apache Avro</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/mule-dataweave-2-avro-format.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2019:06.9,728</id>
        <updated>2019-06-09T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule Runtime 4.2 was released with DataWeave 2.2 version. This adds support for Content (De)Serialization with Apache Avro. In this post, we will take a test drive of DataWeave 2.2 with Apache Avro.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/mule-dataweave-2-avro-format.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>How to deploy existing artifact with Mule Maven Plugin</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/mule-maven-existing-artifact-deployment.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2019:05.12,544</id>
        <updated>2019-05-27T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule Maven plugin provides a way to deploy Mule applications. In this tip, we will see how to deploy existing artifacts with mule maven plugin.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/mule-maven-existing-artifact-deployment.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>How to publish Mule 4 Custom Connector to Anypoint Exchange</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/publish-connectors-to-anypoint-exchange.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2018:06.12,544</id>
        <updated>2018-06-16T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Anypoint Exchange allows us to share and discover the assets like API Specifications, Connectors etc on Anypoint Platform. API Specification assets can directly be created on Anypoint Exchange, while the Custom Connectors needs to be published as a part of release process. Anypoint platform provides a Maven plugin to publish these custom connectors to Exchange. In this post, we will see how to do that.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/publish-connectors-to-anypoint-exchange.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>How to connect Firebase Realtime Database using Mule 4</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/mule4-firebase-connector-demo.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2018:05.9,984</id>
        <updated>2018-05-26T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Firebase Realtime Database is a cloud-hosted NoSQL database that stores data in JSON format. It is more frequently used by Mobile applications as a backend data store. In this article, we will learn how we can integrate Mule 4 to connect Firebase Realtime Database and perform data operations.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/mule4-firebase-connector-demo.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>How to use Secure Properties in DataWeave 2</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/using-secure-properties-in-dataweave-2.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2018:04.12,288</id>
        <updated>2018-04-27T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule 4 ships with a Secure Configuration Properties Module that can be used to encrypt properties files or individual properties. In this quick note, we will see how to use Secure properties inside DataWeave 2 or in Mule 4 expression statements.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/using-secure-properties-in-dataweave-2.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>How to do Mule Deployment with Maven and Jenkins Pipeline</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/mule-maven-deployment-and-jenkins-pipeline.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2018:03.13,312</id>
        <updated>2018-03-17T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule Application Builds and Deployment can be fully managed using Maven. In the development phase, Anypoint Studio makes it easy to manage your application dependencies using Maven. For Deployment tasks, Mule provides are Maven plugin that can help to automate the application deployment to different target runtime environments such as Standalone, CloudHub, ARM, Cluster and more. In this post, we will see how we can leverage Mule Maven plugin to perform deployments manually as well as using Jenkins Pipeline for Mule 3 applications.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/mule-maven-deployment-and-jenkins-pipeline.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>How to Run Mule 4 In Docker Container</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/run-mule4-in-docker-container.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2018:02.9,984</id>
        <updated>2018-02-18T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Recently I updated javastreets/mule docker image to Mule 4.4.0 Kernel (community edition). In this post, we will run a Hello Mule 4 application in Docker container.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/run-mule4-in-docker-container.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>How to Extend Mule 4 Runtime using SDK</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/extending-mule4-sdk.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2018:02.7,424</id>
        <updated>2018-02-13T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule 4 is packed with enhancements and new features. It comes with a new Mule SDK to extend the Mule Runtime for creating custom Connectors and Modules. Even though the goal of SDK is similar to DevKit used in Mule 3, it differs in how custom Connectors and Modules are created using new Mule SDK. In this post, we will see how to create a custom Module using Mule SDK and use it in our project.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/extending-mule4-sdk.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Managing Mule Schedules with Anypoint Runtime Manager</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/managing-mule-schedules-with-anypoint-runtime-manager.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2018:01.16,128</id>
        <updated>2018-01-18T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule ESB applications allow you to integrate different systems. Frequently, we need to schedule processing at certain time or interval. It’s easy to add a scheduler to the application but it might get tricky to maintain it after deployment. In this article, we will see the challenges in managing applications with schedules and how Anypoint Platform’s Runtime Manager helps us to make life easy.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/managing-mule-schedules-with-anypoint-runtime-manager.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Batch Processing in Mule 4 vs. Mule 3</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/10/mule-4-batch-processing.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:10.10,496</id>
        <updated>2017-10-11T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;In previous Mule Batch series, we learned about the batch processing capabilities of Mule ESB 3. Mule 4 is now available for use as Release Candidate version. It offers huge improvements and changes to Mule 3, such as Introduction of DataWeave 2.0, Reusable Streaming, improved processing strategies, operation based connectors and much more. Mule 4 also has some changes to the way Batch jobs were implemented in Mule 3. In this post, we will look at batch processing in Mule 4.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/10/mule-4-batch-processing.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Using Docker container to run Mule ESB on Raspberry Pi3</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/10/run_mule_esb_in_docker_on_raspberrypi3.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:10.14,336</id>
        <updated>2017-10-03T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule runtime is a lightweight, java based enterprise service bus (ESB) and integration platform. It allows the developers to connect with different systems and applications. In the earlier post, we saw how to install Mule ESB on Raspberry Pi3. In this post, we will use Docker container to run Mule on Raspberry Pi3 and deploy a simple application.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/10/run_mule_esb_in_docker_on_raspberrypi3.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Part 3: Mule Batch Processing - MUnit Testing (The Conclusion)</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/9/mule-batch-processing-part3-munit-testing-conclusion.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:09.17,664</id>
        <updated>2017-09-16T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;In earlier parts of this series, we looked at the Batch processing capability of Mule and also added some unit tests for our batch. In this last part, we  will see how to test record data and message routing through steps.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/9/mule-batch-processing-part3-munit-testing-conclusion.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Part 2: Mule Batch Processing - MUnit Testing</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/9/mule-batch-processing-part2-munit-testing.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:09.14,848</id>
        <updated>2017-09-13T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;In previous post, we looked at the Batch processing capability of Mule. Just like any other software code, you should unit test mule batch jobs too. In this second part, we will see how we can add unit tests for our batch.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/9/mule-batch-processing-part2-munit-testing.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Part 1: Mule Batch Processing - Introduction</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/9/mule-batch-processing-part1-introduction.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:09.14,592</id>
        <updated>2017-09-06T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule Enterprise Edition has capability to process messages in batches. This is useful for processing large number of records or stream of data. It has many components that are very specific to batch processing and can be used to implement business logic. In this blog series, we will talk about batch processing in Mule and unit testing it with MUnit.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/9/mule-batch-processing-part1-introduction.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>DataWeave 2.0 Syntax Changes with examples</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/8/mule4_dataweave2_syntax_changes_with_examples.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:08.15,872</id>
        <updated>2017-08-22T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule 4 was released in early 2018. One of the major change in Mule 4 is, making DataWeave a default expression language over Mule 3's default Mule Expression Language. There are many new exciting feature additions to DataWeave 2.0 along with some syntax changes. In this post, we will focus on the syntax changes in 2.0 when compared to 1.0.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/8/mule4_dataweave2_syntax_changes_with_examples.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>MEL Global Functions and their use</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/8/mel_global_functions.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:08.9,472</id>
        <updated>2017-08-13T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule 3.X uses Mule Expression Language (based on MVEL) as default expression language. It is possible to write global MVEL functions that are reusable across Mule application. In this post, we will see how to write global functions and their use.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/8/mel_global_functions.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Connecting Mule ESB to Couchbase NoSQL database</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/7/mule_couchbase_connector.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:07.10,496</id>
        <updated>2017-07-31T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule ESB helps us integrate with different systems using connectors. I created a mule connector to integrate with a Couchbase nosql database. In this post, we will see how to use that.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/7/mule_couchbase_connector.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Integrating Mule with data.world and monitor Bigfoot</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/7/mule_with_data_world.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:07.9,472</id>
        <updated>2017-07-25T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule ESB helps us integrate with different systems. In this example, we will see how to connect to data.world, a data resource repository and retrieve some data.. Let's integrate mule with data.world to monitor bigfoot sightings around us.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/7/mule_with_data_world.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Using multiple Java SDK versions on same machine</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/9/using_multiple_java_sdk_versions.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:07.12,544</id>
        <updated>2017-07-22T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;We often work on more than one java based projects. Every project may need specific java sdk version. We can install all the required versions, but how should we switch between versions without have to set JAVA_HOME each time? In this post, we will look at a awesome tool that makes it possible.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/9/using_multiple_java_sdk_versions.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Mule Tip: Unzipping files in Mule ESB</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/9/unzip_files_in_mule_esb.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:07.10,240</id>
        <updated>2017-07-21T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule tip to show how to unzip a file using expression component in Mule ESB.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/9/unzip_files_in_mule_esb.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Exposing localhost site to Internet</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/9/expose_localhost_site_to_internet.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:07.12,800</id>
        <updated>2017-07-21T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;We all run applications on local server and sometime we may want to expose the sites running on localhost to internet for many reasons like demo or to see how external url's will work. Can we do it without doing actual deployment to remote server?&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/9/expose_localhost_site_to_internet.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Installing Mule ESB on Raspberry Pi 3</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/9/installing_mule_esb_on_raspberry_pi3.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:07.13,568</id>
        <updated>2017-07-15T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;Mule runtime is a lightweight, java based enterprise service bus (ESB) and integration platform. It allows the developers to quickly connect with different systems and applications. It's so lightweight that it can run on a Raspberry Pi 3.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/9/installing_mule_esb_on_raspberry_pi3.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Installing JDK9 on Max OSX</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/9/getting_jdk9_on_macosx_and_features.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:07.13,312</id>
        <updated>2017-07-12T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;JDK9 is almost ready for GA release. Let's install JDK9 and see what are the cool features in JDK9.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/9/getting_jdk9_on_macosx_and_features.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Continuous Deployment of JBake Site to Github with CircleCI</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/5/jbake_with_continuous_deployment_to_github.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:05.15,104</id>
        <updated>2017-05-15T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;In this previous post we saw how we can create a static blog using JBake static site generator. Once you have your site ready, next obvious question will be where to host the site? Off course there are many hosting options available.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/5/jbake_with_continuous_deployment_to_github.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
      <entry>
        <title>Baking static blog with JBake</title>
        <link rel="alternate" type="text/html"
              href="https://javastreets.com/blog/2017/5/baking_static_blog_with_jbake.html?utm_medium=RSS"/>
        <id>tag:javastreets.com,2017:05.11,776</id>
        <updated>2017-05-14T00:00:00Z</updated>
        <author>
          <name>Mank Magar</name>
          <uri>https://manik.magar.me</uri>
        </author>
        <content type="html">
            &lt;p&gt;JBake is a very simple java based static site generator which makes it easy to generate static blogs.&lt;/p&gt;
          &lt;p&gt;&lt;a href="https://javastreets.com/blog/2017/5/baking_static_blog_with_jbake.html?utm_medium=RSS"&gt;Read More&lt;/a&gt;&lt;/p&gt;
        </content>
      </entry>
  </feed>