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

EventDistributor.25.01.26.1.source-code.appContext.xml Maven / Gradle / Ivy

Go to download

RDBMS based messaging as an alternative to other standard messaging like JMS / Kafka

The newest version!
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:ws="http://jax-ws.dev.java.net/spring/core"
       xmlns:wss="http://jax-ws.dev.java.net/spring/servlet"
       xmlns:task="http://www.springframework.org/schema/task"
       xmlns:aop="http://www.springframework.org/schema/aop"
       xmlns:p="http://www.springframework.org/schema/p"
	   xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
	   					   http://www.springframework.org/schema/beans/spring-beans.xsd
	   					   http://www.springframework.org/schema/context
	   					   http://www.springframework.org/schema/context/spring-context-3.0.xsd
	   					   http://jax-ws.dev.java.net/spring/core
        				   http://jax-ws.dev.java.net/spring/core.xsd
        				   http://www.springframework.org/schema/aop
						   http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        				   http://jax-ws.dev.java.net/spring/servlet
        				   http://jax-ws.dev.java.net/spring/servlet.xsd
        				   http://www.springframework.org/schema/task
                           http://www.springframework.org/schema/task/spring-task-3.0.xsd
                           http://www.springframework.org/schema/util
                           http://www.springframework.org/schema/util/spring-util.xsd">
    
	<context:property-placeholder
		location="classpath:env.properties"
		ignore-unresolvable="true" />
<!-- 
-->
   	<import resource="classpath*:validator.xml" />
   	<import resource="classpath*:databaseContext.xml" />
   	<import resource="classpath*:wstarget/*.xml" />
		
	<bean id="main" class="org.simple4j.eventdistributor.Main" scope="singleton">
		<property name="eventDistributorService" ref="eventDistributorService"/>
		
<!--		<property name="stats" ref="stats"></property> -->
		<property name="errorType2HTTPStatusMapping">
			<map>
				<entry key="SUCCESS">
					<map>
						<entry key="" value="200"/>
					</map>
				</entry>
				<entry key="DUPLICATE_REQUEST">
					<map>
						<entry key="" value="208"/>
					</map>
				</entry>
				<entry key="PARAMETER_ERROR">
					<map>
						<entry key="" value="412"/>
					</map>
				</entry>
				<entry key="ENTRY_NOTFOUND">
					<map>
						<entry key="" value="404"/>
					</map>
				</entry>
				<entry key="CALLER_NOTAUTHORIZED">
					<map>
						<entry key="" value="403"/>
					</map>
				</entry>
				<entry key="RUNTIME_ERROR">
					<map>
						<entry key="" value="500"/>
					</map>
				</entry>
			</map>
		</property>
	</bean>
	
	<bean id="eventDistributorService" class="org.simple4j.eventdistributor.japi.impl.EventDistributorServiceImpl" scope="singleton">
		<property name="groupId" value="${project.groupId}"/>
		<property name="artifactId" value="${project.artifactId}"/>
		<property name="version" value="${project.version}"/>
		
		<!--
	private LinkedList<EventTargetRule> eventTargetRules = null;
	private EventDistributorMapper eventDistributorMapper = null;
	private EventFetcher eventFetcher = null;
	private Map<String, Integer> source2NewEventCoolingTimeMillisec = null;
		-->
		
		<property name="eventTargetRules" ref="eventTargetRules"/>
		<property name="eventDistributorMapper" ref="eventDistributorMapper"/>
		<property name="eventFetcher" ref="eventFetcher"/>
		<property name="source2NewEventCoolingTimeMillisec">
			<map>
				<entry key="ZZ" value="30000" />
			</map>
		</property>
		<property name="duplicateCheckExpiryMillisec" value="60000"></property>
	</bean>
	
	<util:list id="eventTargetRules">
		<bean id="rule1" class="org.simple4j.eventdistributor.japi.impl.MvelEventTargetRule">
			<!-- https://ftpdocs.broadcom.com/cadocs/0/CA%20Performance%20Management%20Data%20Aggregator%202%204-ENU/Bookshelf_Files/HTML/caim_PowerUser_Certification_ENU/operators.html -->
			<property name="mvelExpression"><value><![CDATA[ businessRecordType!= null && "USER".equals(businessRecordType) ]]></value></property>
			<property name="targetIds">
				<list>
					<value>system1</value>
					<value>system2</value>
				</list>
			</property>
		</bean>
		<bean id="rule1" class="org.simple4j.eventdistributor.japi.impl.MvelEventTargetRule">
			<property name="mvelExpression"><value><![CDATA[ businessRecordType!= null && "BB".equals(businessRecordType) ]]></value></property>
			<property name="targetIds">
				<list>
					<value>system2</value>
					<value>system3</value>
				</list>
			</property>
		</bean>
	</util:list>

	<bean id="eventFetcher" class="org.simple4j.eventdistributor.tasks.EventFetcher">
		<!-- 
	private Map<String, Caller> targetId2Caller = null;
	private Map<String, String> targetId2SuccessResponseMatchRegexPattern = null;
		-->
		<property name="eventDistributorMapper" ref="eventDistributorMapper" />
		<property name="targetId2Caller">
			<map>
				<entry key="system1" value-ref="system1Caller1"></entry>
				<entry key="system2" value-ref="system2Caller2"></entry>
				<entry key="system3" value-ref="system3Caller3"></entry>
			</map>
		</property>
		<property name="targetId2SuccessResponseMatchRegexPattern">
			<map>
				<entry key="system1"  value=".*SUCCESS.*"></entry>
				<entry key="system2"  value=".*200.*"></entry>
				<entry key="system3"  value=".*200.*"></entry>
			</map>
		</property>
	</bean>


	<bean id="methodLoggingInterceptor" class="org.simple4j.eventdistributor.interceptor.MethodLoggingInterceptor">
	</bean>

	<aop:config proxy-target-class="true">
	    <aop:advisor advice-ref="methodLoggingInterceptor" pointcut="execution(public * org.simple4j.eventdistributor..*.*(..))"/>
	    <aop:advisor advice-ref="methodLoggingInterceptor" pointcut="execution(public * org.simple4j.apiaopvalidator..*.*(..))"/>
	    
	</aop:config>

</beans>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy