All Downloads are FREE. Search and download functionalities are using the official Maven repository.

kltp-ei-module-intsvc.2.1.2.source-code.process-service.xml Maven / Gradle / Ivy

There is a newer version: 2.1.3
Show newest version
<?xml version="1.0" encoding="utf-8"?>
<mule xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting" 
    xmlns:doc="http://www.mulesoft.org/schema/mule/documentation" 
    xmlns:https="http://www.mulesoft.org/schema/mule/https"
	xmlns:http="http://www.mulesoft.org/schema/mule/http"
	xmlns="http://www.mulesoft.org/schema/mule/core"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:spring="http://www.springframework.org/schema/beans"
    xmlns:cxf="http://www.mulesoft.org/schema/mule/cxf"
	xmlns:jms="http://www.mulesoft.org/schema/mule/jms"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-current.xsd 
http://www.mulesoft.org/schema/mule/cxf       http://www.mulesoft.org/schema/mule/cxf/current/mule-cxf.xsd 
http://www.mulesoft.org/schema/mule/jms       http://www.mulesoft.org/schema/mule/jms/current/mule-jms.xsd 
http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd 
http://www.mulesoft.org/schema/mule/core      http://www.mulesoft.org/schema/mule/core/current/mule.xsd 
http://www.mulesoft.org/schema/mule/https     http://www.mulesoft.org/schema/mule/https/current/mule-https.xsd 
http://www.mulesoft.org/schema/mule/http      http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">

    <spring:beans>
        <!-- Bean with business logic -->
        <spring:bean name="process-bl-bean" class="se.skltp.ei.svc.service.impl.ProcessBean">
        	<spring:property name="owner" value="${EI_HSA_ID}"/>
        	<spring:property name="pseudonym" value="${EI_ALTERNATIVE_HSA_ID}"/>
        	<spring:property name="updateNotificationNotAllowedHsaIdList" value="${UPDATE_NOTIFICATION_NOT_ALLOWED_HSA_ID_LIST}"/>
        </spring:bean>
     

        <!-- Bean that process the update and/or process-notification -->
        <spring:bean name="process-bean" class="se.skltp.ei.intsvc.process.ProcessBean">
            <spring:property name="blBean" ref="process-bl-bean"/>
        </spring:bean>
        
    </spring:beans>

    <flow name="process-service" doc:name="process-service">
        <jms:inbound-endpoint 
            connector-ref="soitoolkit-jms-connector"
            queue="${PROCESS_QUEUE}" 
            transformer-refs="logMsgIn-to-process" 
            doc:name="JMS">
            <jms:transaction action="ALWAYS_BEGIN"/>
        </jms:inbound-endpoint>

        <component doc:name="Java">
            <spring-object bean="process-bean"/>
        </component>

	    <custom-transformer doc:name="Create notification list" class="se.skltp.ei.intsvc.process.CreateNotificationListTransformer" >
            <spring:property name="subscriberCache" ref="subscriber-cache-bean"/>
        </custom-transformer>
	    
	    <!-- Split the list-payload to a set of discrete messages -->
		<collection-splitter />

		<!-- Based on the incoming message set a variable EI-NOTIFICATION-QUEUE to the name of the queue to use and set the actual payload -->
	    <custom-transformer doc:name="Set queue-name and payload" class="se.skltp.ei.intsvc.process.SetQueueAndPayloadTransformer" />
	    
	    <set-property propertyName="soitoolkit_correlationId" value="#[message.inboundProperties['soitoolkit_correlationId']]" doc:name="propagate correlationId" />

		<!-- Post he message to the queue in the varaible EI-NOTIFICATION-QUEUE -->
        <jms:outbound-endpoint 
            connector-ref="soitoolkit-jms-connector"
            queue="#[variable:EI-NOTIFICATION-QUEUE]"
            transformer-refs="logMsgOut" 
            doc:name="JMS Queue">
            <jms:transaction action="ALWAYS_JOIN"/>
        </jms:outbound-endpoint>
        
        <custom-exception-strategy class="org.soitoolkit.commons.mule.error.ServiceExceptionStrategy"/>
    </flow>

</mule>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy