<?xml version="1.0"?>

<beans
	default-destroy-method="destroy"
	default-init-method="afterPropertiesSet"
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:aop="http://www.springframework.org/schema/aop"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
>

	<!-- Advice -->

	<aop:config>
		<aop:aspect ref="messagingProxyAdvice">
			<aop:around pointcut="bean(com.liferay.portal.audit.AuditRouterProxyBean)" method="invoke" />
		</aop:aspect>
	</aop:config>

	<!-- Proxy -->

	<bean id="com.liferay.portal.audit.AuditRouterProxyBean" class="com.liferay.portal.audit.AuditRouterProxyBean">
		<property name="singleDestinationSynchronousMessageSender">
			<bean class="com.liferay.portal.kernel.messaging.sender.DefaultSingleDestinationSynchronousMessageSender">
				<property name="destinationName" value="liferay/audit" />
				<property name="synchronousMessageSender" ref="com.liferay.portal.kernel.messaging.sender.DirectSynchronousMessageSender" />
			</bean>
		</property>
		<property name="singleDestinationMessageSender">
			<bean class="com.liferay.portal.kernel.messaging.sender.DefaultSingleDestinationMessageSender">
				<property name="destinationName" value="liferay/audit" />
				<property name="messageSender" ref="com.liferay.portal.kernel.messaging.sender.MessageSender" />
			</bean>
		</property>
	</bean>

	<!-- Util -->

	<bean class="com.liferay.portal.kernel.audit.AuditRouterUtil">
		<property name="auditRouter" ref="com.liferay.portal.audit.AuditRouterProxyBean" />
	</bean>

	<!-- Messaging -->

	<bean id="destination.audit" class="com.liferay.portal.kernel.messaging.ParallelDestination">
		<property name="name" value="liferay/audit" />
	</bean>
	<bean id="messagingConfigurator.audit" class="com.liferay.portal.kernel.messaging.config.DefaultMessagingConfigurator">
		<property name="destinations">
			<list>
				<ref bean="destination.audit" />
			</list>
		</property>
		<property name="messageBus">
			<ref bean="com.liferay.portal.kernel.messaging.MessageBus" />
		</property>
	</bean>
</beans>