Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Mule Meets Zuul: A Centralized Properties Management – Part II, Client-Side

DZone's Guide to

Mule Meets Zuul: A Centralized Properties Management – Part II, Client-Side

· Integration Zone ·
Free Resource

SnapLogic is the leading self-service enterprise-grade integration platform. Download the 2018 GartnerMagic Quadrant for Enterprise iPaaS or play around on the platform, risk free, for 30 days.

[This article originally written by Eugene Berman.]

Before reading on, please take a look at Part 1 of this post.

Connecting Mule application to Zuul server requires two additional jars in the application class path. One of them is jasypt library which can be downloaded here. The second one is zuul-spring-client. You can download the source and build the jar using Maven.

To configure Zuul client, first add zuul namespace to the mule tag. You will also need spring and context namespaces.

<mule xmlns:context="http://www.springframework.org/schema/context"
	xmlns="http://www.mulesoft.org/schema/mule/core" 
	xmlns:spring="http://www.springframework.org/schema/beans" version="EE-3.4.2"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:zuul="http://www.devnull.org/schema/zuul-spring-client"
	xsi:schemaLocation="
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-current.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.devnull.org/schema/zuul-spring-client http://www.devnull.org/schema/zuul-spring-client.xsd">

Next, configure zuul spring bean and spring context referencing this bean:

<context:property-placeholder properties-ref="MuleMeetZuul"/>
  	
<spring:beans>
    <zuul:properties id="MuleMeetZuul" config="AcmeProperties" host="localhost"  port="8080" 
                     context="/zuul-web-1.5" environment="#{environment['env_name']}">
        <zuul:file-store/>
	<zuul:pbe-decryptor password="#{environment['mule.password']}" algorithm="PBEWITHSHA256AND128BITAES-CBC-BC"/>
    </zuul:properties>
</spring:beans>

Note that the value of the config attribute – config="AcmeProperties" – is the name of the properties set that we created on the Zuul server.

Finally, edit the MULE_HOME/conf/wrapper.conf file on each environment and set the variables for environment name and the password used for encryption:

wrapper.java.additional.4=-Denv_name=prod
wrapper.java.additional.5=-Dmule.password=muleftw

With SnapLogic’s integration platform you can save millions of dollars, increase integrator productivity by 5X, and reduce integration time to value by 90%. Sign up for our risk-free 30-day trial!

Topics:

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}