]> source.dussan.org Git - archiva.git/commitdiff
the repository session factory is now configurable via a sysprops
authorOlivier Lamy <olamy@apache.org>
Thu, 27 Mar 2014 06:02:01 +0000 (06:02 +0000)
committerOlivier Lamy <olamy@apache.org>
Thu, 27 Mar 2014 06:02:01 +0000 (06:02 +0000)
git-svn-id: https://svn.apache.org/repos/asf/archiva/trunk@1582199 13f79535-47bb-0310-9956-ffa450edef68

archiva-modules/archiva-web/archiva-web-common/src/main/filtered-resources/application.properties
archiva-modules/archiva-web/archiva-webapp/pom.xml
archiva-modules/archiva-web/archiva-webapp/src/main/webapp/WEB-INF/applicationContext.xml

index 12806aa73714d44e527b713d28c63bf2f42e80e1..0d2ea0035517795e1be03a0d19719a19424eb473 100644 (file)
@@ -19,4 +19,4 @@
 user.agent=Apache Archiva/${project.version}
 archiva.version=${project.version}
 archiva.buildNumber=${buildNumber}
-archiva.timestamp=${timestamp}
+archiva.timestamp=${timestamp}
\ No newline at end of file
index 8ec1bb6b1001884bfa08564bff158650780183ad..6578ed4cc42d18560e501b93584abc6302fb85c5 100644 (file)
@@ -42,6 +42,7 @@
     <test.useTomcat>false</test.useTomcat>
     <archiva.groupIndexTtl>30</archiva.groupIndexTtl>
     <archiva.sirona.configuration />
+    <archiva.repositorySessionFactory.id>jcr</archiva.repositorySessionFactory.id>
   </properties>
 
   <dependencies>
       <groupId>org.apache.archiva</groupId>
       <artifactId>metadata-store-jcr</artifactId>
     </dependency>
-    <!--
+
     <dependency>
       <groupId>org.apache.archiva</groupId>
       <artifactId>metadata-store-cassandra</artifactId>
     </dependency>
-    -->
+
+    <dependency>
+      <groupId>org.apache.archiva</groupId>
+      <artifactId>metadata-store-file</artifactId>
+    </dependency>
+
     <dependency>
       <groupId>org.apache.jackrabbit</groupId>
       <artifactId>jackrabbit-jcr-commons</artifactId>
             <archiva.logMissingI18n>${archiva.logMissingI18n}</archiva.logMissingI18n>
             <cassandra.host>localhost</cassandra.host>
             <cassandra.port>9160</cassandra.port>
+            <archiva.repositorySessionFactory.id>${archiva.repositorySessionFactory.id}</archiva.repositorySessionFactory.id>
             <org.apache.sirona.configuration.sirona.properties>${archiva.sirona.configuration}</org.apache.sirona.configuration.sirona.properties>
           </systemProperties>
           <additionalClasspathDirs>
     </plugins>
   </build>
 
+  <profiles>
+    <profile>
+      <id>cassandra</id>
+      <properties>
+        <archiva.repositorySessionFactory.id>cassandra</archiva.repositorySessionFactory.id>
+      </properties>
+    </profile>
+  </profiles>
+
 </project>
index fc07339ff0fe619af84839fe7dafd257fd807dbc..155d080000fd9ff3d19cd85729481c21f2db9337 100644 (file)
 <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:task="http://www.springframework.org/schema/task"
+       xmlns:task="http://www.springframework.org/schema/task" xmlns:util="http://www.springframework.org/schema/util"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/context
            http://www.springframework.org/schema/context/spring-context-3.0.xsd
            http://www.springframework.org/schema/task
-           http://www.springframework.org/schema/task/spring-task-3.0.xsd">
+           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:application.properties"/>
+  <context:property-placeholder location="classpath:application.properties" />
 
   <alias name="userConfiguration#archiva" alias="userConfiguration#default" />
 
   <alias name="authorizer#rbac" alias="authorizer#default"/>
 
   <alias name="repositoryStatisticsManager#default" alias="repositoryStatisticsManager"/>
-  <!-- TODO olamy need to find a more dynamic way if using jcr impl -->
-  <alias name="repositorySessionFactory#jcr" alias="repositorySessionFactory"/>
-  <!--
-  <alias name="repositorySessionFactory#cassandra" alias="repositorySessionFactory"/>
-  -->
+  <!-- so can be override with -Darchiva.repositorySessionFactory.id= jcr or cassandra or file -->
+  <bean name="repositorySessionFactory" class="org.apache.archiva.web.startup.RepositorySessionFactoryBean">
+    <constructor-arg>
+      <util:properties location="classpath:archiva-runtime.properties" local-override="true"/>
+    </constructor-arg>
+  </bean>
 
   <alias name="environmentCheck#archiva-locked-admin-check" alias="environmentCheck#locked-admin-check"/>
   <alias name="userManager#archiva" alias="userManager#default"/>