81,091
社区成员
发帖
与我相关
我的任务
分享
<?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:util="http://www.springframework.org/schema/util"
xmlns:jcs="http://www.springmodules.org/schema/jcs"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-2.0.xsd">
<import resource="classpath:com/active/services/support/xfire/spring/xfire.xml" />
<!--================== Config Beans ======================-->
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:service.properties</value>
</property>
</bean>
<bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean" scope="singleton">
<property name="locations">
<list>
<value>classpath:service.properties</value>
</list>
</property>
</bean>
<bean id="daoProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean" scope="singleton">
<property name="locations">
<list>
<value>classpath:dao.properties</value>
</list>
</property>
</bean>
<!--=================== Context Bean =========================-->
<bean id="contextBean" class="com.active.services.DefaultContextImpl" scope="singleton">
<property name="applicationId">
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod" value="java.util.UUID.fromString" />
<property name="arguments">
<value>${contextApplicationId}</value>
</property>
</bean>
</property>
<property name="userId">
<bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean">
<property name="staticMethod" value="java.util.UUID.fromString" />
<property name="arguments">
<value>${contextUserId}</value>
</property>
</bean>
</property>
</bean>
<!--=================== WSDL Beans ===================-->
<bean id="reviewsClientBean" class="com.active.jive.clearspace.plugin.AssetReviewsWebService"
factory-bean="reviewsClientFactory" factory-method="create"/>
<bean id="reviewsClientFactory" class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
<property name="serviceClass" value="com.active.jive.clearspace.plugin.AssetReviewsWebService"/>
<property name="address" value="${reviewsService}"/>
</bean>
<bean id="assetServiceBean" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean">
<property name="serviceClass" value="com.active.services.asset.api.IAssetService" />
<property name="wsdlDocumentUrl" value="${assetServiceWSDL}"/>
<property name="serviceFactory" ref="active.xfire.support.serviceFactory" />
<property name="lookupServiceOnStartup" value="false" />
</bean>
<!--==================== Service Client's ====================-->
<bean id="userServiceBean" class="org.codehaus.xfire.spring.remoting.XFireClientFactoryBean">
<property name="serviceClass" value="com.active.services.user.IUserService" />
<property name="wsdlDocumentUrl" value="${userServiceWSDL}" />
<property name="serviceFactory" ref="active.xfire.support.serviceFactory" />
<property name="lookupServiceOnStartup" value="false" />
</bean>
<bean id="reviewsClient" class="com.active.rest.reviews.client.ReviewsClient" scope="singleton">
<property name="configProps" ref="configProperties" />
<property name="reviewsService" ref="reviewsClientBean" />
<property name="dao" ref="ratingAndReviewDao" />
<property name="ausContext" ref="contextBean" />
<property name="userService" ref="userServiceBean" />
<property name="assetServiceClient" ref="assetServiceClient" />
<property name="cacheManager" ref="cacheManager" />
</bean>
<bean id="assetServiceClient" class="com.active.rest.reviews.client.AssetServiceClient" scope="singleton">
<property name="assetService" ref="assetServiceBean" />
<property name="context" ref="contextBean" />
</bean>
<!--=================== Dao's =========================-->
<bean id="ratingAndReviewDataSource" class="org.springframework.jndi.JndiObjectFactoryBean" scope="singleton">
<property name="jndiName">
<value>java:/com.active.dsn.ratingsandreviews_service</value>
</property>
</bean>
<bean id="simpleJdbcTemplate" class="org.springframework.jdbc.core.simple.SimpleJdbcTemplate" scope="singleton">
<constructor-arg><ref bean="ratingAndReviewDataSource"/></constructor-arg>
</bean>
<bean id="ratingAndReviewDao" class="com.active.rest.reviews.dao.RatingAndReviewDao" scope="singleton">
<property name="daoProps">
<ref bean="daoProperties"/>
</property>
<property name="simpleJdbcTemplate">
<ref bean="simpleJdbcTemplate"/>
</property>
</bean>
<!--==================== Restlet Resources's ====================-->
<bean name="ReviewResource" class="com.active.rest.reviews.resource.ReviewResource" scope="prototype" >
<property name="configProps" ref="configProperties" />
<property name="ausContext" ref="contextBean" />
<property name="dao" ref="ratingAndReviewDao" />
<property name="reviewsClient" ref="reviewsClientProxy" />
<property name="cacheManager" ref="cacheManager" />
</bean>
<bean name="AssetReviewResource" class="com.active.rest.reviews.resource.AssetReviewResource" scope="prototype" >
<property name="configProps" ref="configProperties" />
<property name="ausContext" ref="contextBean" />
<property name="reviewsClient" ref="reviewsClientProxy" />
<property name="cacheManager" ref="cacheManager" />
<property name="dao" ref="ratingAndReviewDao" />
</bean>
<bean name="SeedReviewResource" class="com.active.rest.reviews.resource.SeedReviewResource" scope="prototype" >
<property name="configProps" ref="configProperties" />
<property name="ausContext" ref="contextBean" />
<property name="userService" ref="userServiceBean" />
<property name="dao" ref="ratingAndReviewDao" />
<property name="reviewsClient" ref="reviewsClientProxy" />
</bean>
<!--==================== Restlet Router's ====================-->
<bean id="root" class="org.restlet.ext.spring.SpringRouter">
<property name="attachments">
<map>
<entry key="/reviews/asset/{asset_id}">
<bean class="org.restlet.ext.spring.SpringFinder">
<lookup-method name="createResource"
bean="AssetReviewResource" />
</bean>
</entry>
<entry key="/asset/{asset_id}">
<bean class="org.restlet.ext.spring.SpringFinder">
<lookup-method name="createResource"
bean="AssetReviewResource" />
</bean>
</entry>
<entry key="/reviews/{message_id}">
<bean class="org.restlet.ext.spring.SpringFinder">
<lookup-method name="createResource"
bean="ReviewResource" />
</bean>
</entry>
<entry key="/review/{message_id}">
<bean class="org.restlet.ext.spring.SpringFinder">
<lookup-method name="createResource"
bean="ReviewResource" />
</bean>
</entry>
<entry key="/review/seed/{asset_id}">
<bean class="org.restlet.ext.spring.SpringFinder">
<lookup-method name="createResource"
bean="SeedReviewResource" />
</bean>
</entry>
</map>
</property>
</bean>
<!--======= Memcached Cache Manager =======-->
<bean id="cacheManager" class="com.active.rest.reviews.cache.CacheManager" scope="singleton">
<constructor-arg value="${cacheServers}"/>
<constructor-arg value="${cacheServerWeights}"/>
</bean>
<!--======= AOP Advice =======-->
<bean name="cacheAdvice" class="com.active.rest.reviews.cache.CacheAdvice">
<property name="cacheManager" ref="cacheManager" />
<property name="configProps">
<ref bean="configProperties"/>
</property>
</bean>
<!--======= AOP Interceptors =======-->
<bean id="cacheInterceptor" class="org.springframework.aop.support.RegexpMethodPointcutAdvisor">
<property name="advice" ref="cacheAdvice" />
<property name="patterns">
<list>
<value>.*getRatingsAndReviews.*</value>
</list>
</property>
</bean>
<!--======= AOP Proxies for classes we need to intercept =======-->
<bean name="reviewsClientProxy" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="target" ref="reviewsClient" />
<property name="proxyTargetClass" value="true" />
<property name="interceptorNames">
<list>
<value>cacheInterceptor</value>
</list>
</property>
</bean>
</beans>