<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:ee="http://www.mulesoft.org/schema/mule/ee/core"
xmlns:servicebus="http://www.mulesoft.org/schema/mule/servicebus"
xmlns:http="http://www.mulesoft.org/schema/mule/http"
xmlns="http://www.mulesoft.org/schema/mule/core"
xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/core
http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http
http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd
http://www.mulesoft.org/schema/mule/servicebus
http://www.mulesoft.org/schema/mule/servicebus/current/mule-servicebus.xsd
http://www.mulesoft.org/schema/mule/ee/core
http://www.mulesoft.org/schema/mule/ee/core/current/mule-ee.xsd">
<configuration-properties file="mule-app.properties"
doc:name="Configuration properties"/>
<http:listener-config name="HTTP_Listener_config"
doc:name="HTTP Listener config">
<http:listener-connection host="0.0.0.0" port="8081" />
</http:listener-config>
<servicebus:config name="Microsoft_Service_Bus_Config" doc:name="Microsoft Service Bus Config">
<servicebus:windows-connection
namespace="${windows.namespace}"
username="${windows.username}"
password="${windows.password}"
fqdn="${windows.fqdn}"
port="${windows.port}"/>
</servicebus:config>
<flow name="service-bus-management-demoFlow">
<http:listener doc:name="Topic Create Endpoint"
config-ref="HTTP_Listener_config"
path="/topic"/>
<ee:transform doc:name="Set ServiceBusTopicDescription">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
defaultMessageTimeToLive: "P10675199DT2H48M5.4775807S",
duplicateDetectionHistoryTimeWindow: "PT10M",
enableBatchedOperations: false,
maxSizeInMegabytes: 1024,
requiresDuplicateDetection: false,
sizeInBytes: null
} as Object {
class : "com.mulesoft.connectors.microsoft.servicebus.extension.api.entity.ServiceBusTopicDescription"
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<servicebus:topic-create doc:name="Topic create"
config-ref="Microsoft_Service_Bus_Config"
topicPath="${topic.name}">
</servicebus:topic-create>
<ee:transform doc:name="Object to Json">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
author: payload.author,
id: payload.id,
title: payload.title
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<logger level="INFO" doc:name="Logger" message="#[payload]"/>
</flow>
<flow name="service-bus-management-demoFlow1">
<http:listener doc:name="Subscription Create Endpoint"
config-ref="HTTP_Listener_config"
path="/subscription"/>
<ee:transform doc:name="Set ServiceBusSubscriptionDescription">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
lockDuration: "PT4M",
requiresSession: false,
deadLetteringOnMessageExpiration: false,
deadLetteringOnFilterEvaluationExceptions: null,
enableBatchedOperations: false,
defaultMessageTimeToLive: "P10675199DT2H48M5.4775807S",
maxDeliveryCount: null
} as Object {
class : "com.mulesoft.connectors.microsoft.servicebus.extension.api.entity.ServiceBusSubscriptionDescription"
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<servicebus:subscription-create
topicPath="${topic.name}"
doc:name="Subscription create"
config-ref="Microsoft_Service_Bus_Config"
subscriptionPath="${subscription.name}"/>
<ee:transform doc:name="Object to Json">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
linik: payload.link,
id: payload.id,
title: payload.title
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<logger level="INFO" doc:name="Logger" message="#[payload]"/>
</flow>
<flow name="service-bus-management-demoFlow2">
<http:listener doc:name="Rule Create Endpoint"
config-ref="HTTP_Listener_config"
path="/rule"/>
<ee:transform doc:name="Set ServiceBusRuleDescription">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/java
---
{
action: {
sqlExpression: "set MyProperty2 = 'ABC'",
"type": "SqlRuleAction"
},
filter: {
correlationId: null,
sqlExpression: "property1 = 'ok'",
"type": "SqlFilter"
}
} as Object {
class : "com.mulesoft.connectors.microsoft.servicebus.extension.api.entity.ServiceBusRuleDescription"
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<servicebus:rule-create topicPath="${topic.name}" doc:name="Rule create"
config-ref="Microsoft_Service_Bus_Config" rulePath="${rule.name}"
subscriptionPath="${subscription.name}"/>
<ee:transform doc:name="Object to Json">
<ee:message >
<ee:set-payload ><![CDATA[%dw 2.0
output application/json
---
{
link: payload.link,
id: payload.id,
title: payload.title
}]]></ee:set-payload>
</ee:message>
</ee:transform>
<logger level="INFO" doc:name="Logger" message="#[payload]"/>
</flow>
</mule>