| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <beans xmlns="http://www.springframework.org/schema/beans" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util" |
| xmlns:context="http://www.springframework.org/schema/context" |
| xmlns:amq="http://activemq.apache.org/schema/core" xmlns:jms="http://www.springframework.org/schema/jms" |
| xmlns:p="http://www.springframework.org/schema/p" |
| xsi:schemaLocation=" |
| http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd |
| http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd |
| http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd |
| http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd |
| http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd"> |
| |
| <context:component-scan base-package="org.apache.usergrid.persistence" /> |
| <context:annotation-config /> |
| |
| <bean id="properties" |
| class="org.springframework.beans.factory.config.PropertiesFactoryBean"> |
| <property name="singleton" value="true" /> |
| <property name="ignoreResourceNotFound" value="true" /> |
| <property name="locations"> |
| <list> |
| <value>classpath:/usergrid-default.properties</value> |
| <value>classpath:/usergrid-test.properties</value> |
| <value>${usergrid-custom-spring-test-properties}</value> |
| </list> |
| </property> |
| </bean> |
| |
| <bean id="propertyPlaceholderConfigurer" |
| class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> |
| <property name="properties" ref="properties" /> |
| <property name="systemPropertiesModeName"> |
| <value>SYSTEM_PROPERTIES_MODE_OVERRIDE</value> |
| </property> |
| </bean> |
| |
| <bean id="cassandraUseRemote" class="java.lang.Boolean"> |
| <constructor-arg value="${cassandra.use_remote}" /> |
| </bean> |
| <bean id="cassandraLocalUrl" class="java.lang.String"> |
| <constructor-arg value="${cassandra.local.url}" /> |
| </bean> |
| <bean id="cassandraRemoteUrl" class="java.lang.String"> |
| <constructor-arg value="${cassandra.remote.url}" /> |
| </bean> |
| <bean id="cassandraUrl" class="java.lang.String"> |
| <constructor-arg |
| value="#{cassandraUseRemote ? cassandraRemoteUrl : cassandraLocalUrl}" /> |
| </bean> |
| <util:map id="cassandraCredentials" map-class="java.util.HashMap"> |
| <entry key="username" value="${cassandra.username}" /> |
| <entry key="password" value="${cassandra.password}" /> |
| </util:map> |
| |
| <bean id="realm" class="org.apache.usergrid.security.shiro.Realm"> |
| <property name="name" value="realm" /> |
| </bean> |
| |
| <bean id="securityManager" class="org.apache.shiro.mgt.DefaultSecurityManager"> |
| <property name="realm" ref="realm" /> |
| </bean> |
| |
| <bean id="lifecycleBeanPostProcessor" class="org.apache.shiro.spring.LifecycleBeanPostProcessor"/> |
| |
| <bean |
| class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> |
| <property name="staticMethod" |
| value="org.apache.shiro.SecurityUtils.setSecurityManager" /> |
| <property name="arguments" ref="securityManager" /> |
| </bean> |
| |
| <!-- The Time Resolution used for the cluster --> |
| <bean id="microsecondsTimeResolution" |
| class="me.prettyprint.cassandra.service.clock.MicrosecondsClockResolution" /> |
| |
| <bean id="cassandraHostConfigurator" |
| class="me.prettyprint.cassandra.service.CassandraHostConfigurator"> |
| <constructor-arg ref="cassandraUrl" /> |
| <property name="clockResolution" ref="microsecondsTimeResolution" /> |
| </bean> |
| |
| <bean id="cassandraCluster" class="me.prettyprint.cassandra.service.ThriftCluster"> |
| <constructor-arg value="${cassandra.cluster}" /> |
| <constructor-arg ref="cassandraHostConfigurator" /> |
| <constructor-arg ref="cassandraCredentials" /> |
| </bean> |
| |
| <bean id="injector" |
| class="org.apache.usergrid.corepersistence.GuiceFactory"> |
| </bean> |
| |
| <bean id="cassandraService" |
| class="org.apache.usergrid.persistence.cassandra.CassandraService" init-method="init"> |
| <constructor-arg ref="properties" /> |
| <constructor-arg ref="cassandraCluster" /> |
| <constructor-arg ref="cassandraHostConfigurator" /> |
| <constructor-arg ref="injector" /> |
| </bean> |
| |
| <bean id="entityManagerFactory" |
| class="org.apache.usergrid.persistence.cassandra.EntityManagerFactoryImpl"> |
| <constructor-arg ref="cassandraService" /> |
| </bean> |
| |
| <bean id="queueManagerFactory" |
| class="org.apache.usergrid.mq.cassandra.QueueManagerFactoryImpl"> |
| <constructor-arg ref="cassandraService" /> |
| </bean> |
| |
| <bean id="serviceManagerFactory" class="org.apache.usergrid.services.ServiceManagerFactory"> |
| <constructor-arg> |
| <ref bean="entityManagerFactory" /> |
| </constructor-arg> |
| </bean> |
| |
| <bean id="tokenService" class="org.apache.usergrid.security.tokens.impl.TokenServiceImpl"/> |
| |
| <bean id="managementService" class="org.apache.usergrid.management.cassandra.ManagementServiceImpl" /> |
| |
| </beans> |