Summary: The Mule Processing Unit allows you to run Mule within a Processing Unit, thus leveraging all of the Processing Unit and SLA-driven container capabilities.

Overview

OpenSpaces allows to configure, package and deploy a Processing Unit. The OpenSpaces Mule integration allows you to run a pure Mule application (with or without OpenSpaces special extension points and transports) as a Processing Unit.

Configuration

In order to run Mule as a Processing Unit within the pu.xml file (which is a Spring application context), the following needs to be defined:

<bean class="org.openspaces.esb.mule.pu.OpenSpacesMuleContextLoader">
    <property name="location" value="/META-INF/spring/mule.xml"/>
</bean>

In the example above, the OpenSpacesMuleContextLoader loads a Mule application as defined in the mule.xml configuration file. The location parameter is optional and defaults to the value specified in the example above.

Packaging

Packaging of the Processing Unit should follow the Processing Unit structure.

When deploying a Processing Unit into the SLA-driven container, Mule JAR files should be "installed" into the GigaSpaces installation (on each node). The following minimum set of JARs need to be copied into <GigaSpaces Root>\lib\platform\mule (if the Mule directory does not exists, create it).

  • Copy the following JAR files from <Mule Root>\lib\mule to <GigaSpaces Root>\lib\platform\mule:
    mule-core, mule-module-spring-config, mule-module-spring-extras, mule-transport-quartz, mule-transport-stdio, mule-transport-vm . Other transports (if used) should be copied as well.
  • Copy the following JAR files from <Mule Root>\lib\opt to <GigaSpaces Root>\lib\platform\mule:
    commons-beanutils, commons-collections, commons-io, commons-lang, commons-pool, jug-2.0.0-asl, backport-util-concurrent, quartz-all-1.6.0-osgi. Other required JAR files can be copied as well (or they can be put in the Processing Unit lib directory).

Note, since version 7.0, the required mule jar files can also be placed within the processing unit lib directory, without "installing" mule into each GSC node installation.

Packaging for Mule example

In the Mule ESB example, the following jars are required and should be placed under <GigaSpaces Root>\lib\platform\mule

backport-util-concurrent-3.1-osgi.jar
commons-beanutils-1.8.0-osgi.jar
commons-collections-3.2.1.jar
commons-io-1.4.jar
commons-lang-2.4.jar
commons-pool-1.5.3.jar
jug-2.0.0-osgi-asl.jar
mule-core-3.1.0.jar
mule-module-client-3.1.0.jar
mule-module-spring-config-3.1.0.jar
mule-module-spring-extras-3.1.0.jar
mule-module-annotations-3.1.0.jar
mule-transport-quartz-3.1.0.jar
quartz-all-1.6.0-osgi.jar

Running/Deploying

Once the Processing Unit is packaged, it can be run using the different options that come with OpenSpaces:

GigaSpaces.com - Legal Notice - 3rd Party Licenses - Site Map - API Docs - Forum - Downloads - Blog - White Papers - Contact Tech Writing - Gen. by Atlassian Confluence