<?xml version="1.0"?>

<beans
	default-destroy-method="destroy"
	default-init-method="afterPropertiesSet"
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:util="http://www.springframework.org/schema/util"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.0.xsd"
>
	<bean id="counterHibernateSessionFactory" class="com.liferay.portal.spring.hibernate.PortalHibernateConfiguration">
		<property name="dataSource" ref="counterDataSource" />
	</bean>
	<bean id="counterSessionFactory" class="com.liferay.portal.dao.orm.hibernate.SessionFactoryImpl">
		<property name="sessionFactoryClassLoader">
			<bean class="com.liferay.portal.kernel.util.PortalClassLoaderUtil" factory-method="getClassLoader" />
		</property>
		<property name="sessionFactoryImplementor" ref="counterHibernateSessionFactory" />
	</bean>
	<bean id="liferayHibernateSessionFactory" class="com.liferay.portal.spring.hibernate.PortalHibernateConfiguration">
		<property name="dataSource" ref="liferayDataSource" />
	</bean>
	<bean id="liferaySessionFactory" class="com.liferay.portal.dao.orm.hibernate.SessionFactoryImpl">
		<property name="sessionFactoryClassLoader">
			<bean class="com.liferay.portal.kernel.util.PortalClassLoaderUtil" factory-method="getClassLoader" />
		</property>
		<property name="sessionFactoryImplementor" ref="liferayHibernateSessionFactory" />
	</bean>
	<bean id="liferayTransactionManager" class="com.liferay.portal.spring.transaction.TransactionManagerFactory" factory-method="createTransactionManager">
		<constructor-arg ref="liferayDataSource" />
		<constructor-arg ref="liferayHibernateSessionFactory" />
	</bean>
	<bean id="hibernateMBeanExporter" class="org.springframework.jmx.export.MBeanExporter">
		<property name="beans">
			<map>
				<entry key="Hibernate:name=statistics">
					<bean class="com.liferay.portal.dao.orm.hibernate.jmx.HibernateStatisticsService">
						<property name="sessionFactory" ref="liferaySessionFactory" />
					</bean>
				</entry>
			</map>
		</property>
		<property name="registrationBehavior">
			<util:constant static-field="org.springframework.jmx.support.MBeanRegistrationSupport.REGISTRATION_IGNORE_EXISTING" />
		</property>
		<property name="server" ref="mBeanServer" />
	</bean>
	<bean id="com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil" class="com.liferay.portal.kernel.dao.orm.DynamicQueryFactoryUtil">
		<property name="dynamicQueryFactory">
			<bean class="com.liferay.portal.dao.orm.hibernate.DynamicQueryFactoryImpl" />
		</property>
	</bean>
	<bean id="com.liferay.portal.kernel.dao.orm.OrderFactoryUtil" class="com.liferay.portal.kernel.dao.orm.OrderFactoryUtil">
		<property name="orderFactory">
			<bean class="com.liferay.portal.dao.orm.hibernate.OrderFactoryImpl" />
		</property>
	</bean>
	<bean id="com.liferay.portal.kernel.dao.orm.ProjectionFactoryUtil" class="com.liferay.portal.kernel.dao.orm.ProjectionFactoryUtil">
		<property name="projectionFactory">
			<bean class="com.liferay.portal.dao.orm.hibernate.ProjectionFactoryImpl" />
		</property>
	</bean>
	<bean id="com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil" class="com.liferay.portal.kernel.dao.orm.PropertyFactoryUtil">
		<property name="propertyFactory">
			<bean class="com.liferay.portal.dao.orm.hibernate.PropertyFactoryImpl" />
		</property>
	</bean>
	<bean id="com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil" class="com.liferay.portal.kernel.dao.orm.RestrictionsFactoryUtil">
		<property name="restrictionsFactory">
			<bean class="com.liferay.portal.dao.orm.hibernate.RestrictionsFactoryImpl" />
		</property>
	</bean>
</beans>