SLC Repo in PostgreSQL
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 4 Mar 2013 20:51:00 +0000 (20:51 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 4 Mar 2013 20:51:00 +0000 (20:51 +0000)
git-svn-id: https://svn.argeo.org/slc/trunk@6097 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

demo/slc_demo_rap_pg.properties [new file with mode: 0644]
modules/org.argeo.slc.server.repo/pom.xml
modules/org.argeo.slc.server.repo/repo.properties
modules/org.argeo.slc.server.repo/repository-pg-dist.xml
modules/org.argeo.slc.server.repo/repository-pg-docs.xml [new file with mode: 0644]
modules/org.argeo.slc.server.repo/repository-pg-java.xml
modules/org.argeo.slc.server.repo/repository-pg-rpm.xml

diff --git a/demo/slc_demo_rap_pg.properties b/demo/slc_demo_rap_pg.properties
new file mode 100644 (file)
index 0000000..96deee5
--- /dev/null
@@ -0,0 +1,46 @@
+# SLC SERVICES
+argeo.osgi.start.1.slc=\
+org.argeo.server.ads.server,\
+
+argeo.osgi.start.2.slc=\
+org.argeo.slc.node.jackrabbit,\
+org.argeo.slc.support.maven,\
+org.argeo.slc.server.repo,\
+org.argeo.slc.agent,\
+org.argeo.slc.agent.jcr,\
+
+argeo.osgi.start.3.slc=\
+org.argeo.slc.server.repo.webapp,\
+
+# NODE SERVICES
+argeo.osgi.start.1.node=\
+org.springframework.osgi.extender,\
+
+argeo.osgi.start.2.node=\
+org.argeo.node.repo.jackrabbit,\
+org.argeo.security.dao.ldap,\
+
+argeo.osgi.start.3.node=\
+org.argeo.jackrabbit.webapp,\
+org.argeo.server.rap.webapp,\
+org.argeo.server.catalina.start,\
+org.eclipse.equinox.http.registry,\
+org.springframework.osgi.web.extender,\
+
+
+slc.executionModules=org.argeo.slc.demo.ant,\
+org.argeo.slc.demo.basic,\
+org.argeo.slc.demo.minimal,\
+
+slc.repo.jcr.configuration.java=osgibundle:repository-pg-java.xml
+
+org.argeo.security.ui.initialPerspective=org.argeo.security.ui.userHomePerspective
+
+log4j.configuration=file:../../log4j.properties
+
+# DON'T CHANGE BELOW UNLESS YOU KNOW WHAT YOU ARE DOING
+eclipse.ignoreApp=true
+osgi.noShutdown=true
+
+# Avoid errors logs (see https://issues.apache.org/jira/browse/JCR-2226)
+org.apache.jackrabbit.core.statementcache=false
\ No newline at end of file
index a6ef162d8d62497bd3ee53054c8f8bbfe5160788..bce787873c2aaf594b4bf5773bbd90e5703a1c19 100644 (file)
@@ -21,6 +21,8 @@
                                                        org.argeo.slc.jcr,
                                                        org.argeo.slc.repo,
                                                        org.h2;resolution:=optional,
+                                                       org.postgresql;resolution:=optional,
+                                                       com.mysql.jdbc;resolution:=optional,
                                                </Import-Package>
                                        </instructions>
                                </configuration>
index 5248850d682fb83558a0f4af820128b471ca0cd0..e996bd48266f5b2255100d9107b72ea969ca0802 100644 (file)
@@ -8,4 +8,12 @@ slc.repo.jcr.configuration.docs=osgibundle:repository-h2.xml
 
 slc.repo.jcr.dbuser=sa
 slc.repo.jcr.dbpassword=
-slc.repo.jcr.maxPoolSize=10
\ No newline at end of file
+slc.repo.jcr.maxPoolSize=10
+
+# Postgres
+slc.repo.jcr.dbuser=argeo
+slc.repo.jcr.dbpassword=argeo
+slc.repo.jcr.dburl.java=jdbc:postgresql://localhost/slc_java
+slc.repo.jcr.dburl.dist=jdbc:postgresql://localhost/slc_dist
+slc.repo.jcr.dburl.rpm=jdbc:postgresql://localhost/slc_rpm
+slc.repo.jcr.dburl.docs=jdbc:postgresql://localhost/slc_docs
index 18682b2e16c6d728583b9131d17f5292be787369..59a1a14a0b0c050a03739c2de8095bd68d683334 100644 (file)
                <param name="schema" value="postgresql" />
                <param name="schemaObjectPrefix" value="fs_" />
        </FileSystem>
-       <DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
-               <param name="path" value="${rep.home}/datastore" />
+       <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
+               <param name="dataSourceName" value="dataSource" />
+               <param name="schemaObjectPrefix" value="ds_" />
        </DataStore>
 
        <!-- Workspace templates -->
        <Workspaces rootPath="${rep.home}/workspaces"
-               defaultWorkspace="${argeo.node.repo.defaultWorkspace}" />
+               defaultWorkspace="main" />
        <Workspace name="${wsp.name}">
                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
                        <param name="dataSourceName" value="dataSource" />
diff --git a/modules/org.argeo.slc.server.repo/repository-pg-docs.xml b/modules/org.argeo.slc.server.repo/repository-pg-docs.xml
new file mode 100644 (file)
index 0000000..db8ce50
--- /dev/null
@@ -0,0 +1,78 @@
+<?xml version="1.0"?>
+<!DOCTYPE Repository PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 1.6//EN"
+                            "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">
+<Repository>
+       <!-- Shared datasource -->
+       <DataSources>
+               <DataSource name="dataSource">
+                       <param name="driver" value="org.postgresql.Driver" />
+                       <param name="url" value="${slc.repo.jcr.dburl.docs}" />
+                       <param name="user" value="${slc.repo.jcr.dbuser}" />
+                       <param name="password" value="${slc.repo.jcr.dbpassword}" />
+                       <param name="databaseType" value="postgresql" />
+                       <param name="maxPoolSize" value="${slc.repo.jcr.maxPoolSize}" />
+               </DataSource>
+       </DataSources>
+
+       <!-- File system and datastore -->
+       <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+               <param name="dataSourceName" value="dataSource" />
+               <param name="schema" value="postgresql" />
+               <param name="schemaObjectPrefix" value="fs_" />
+       </FileSystem>
+       <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
+               <param name="dataSourceName" value="dataSource" />
+               <param name="schemaObjectPrefix" value="ds_" />
+       </DataStore>
+       
+       <!-- Workspace templates -->
+       <Workspaces rootPath="${rep.home}/workspaces"
+               defaultWorkspace="main" />
+       <Workspace name="${wsp.name}">
+               <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+                       <param name="dataSourceName" value="dataSource" />
+                       <param name="schema" value="postgresql" />
+                       <param name="schemaObjectPrefix" value="${wsp.name}_fs_" />
+               </FileSystem>
+               <PersistenceManager
+                       class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
+                       <param name="dataSourceName" value="dataSource" />
+                       <param name="schemaObjectPrefix" value="${wsp.name}_pm_" />
+               </PersistenceManager>
+               <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+                       <param name="path" value="${wsp.home}/index" />
+               </SearchIndex>
+       </Workspace>
+
+       <!-- Versioning -->
+       <Versioning rootPath="${rep.home}/version">
+               <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
+                       <param name="dataSourceName" value="dataSource" />
+                       <param name="schema" value="postgresql" />
+                       <param name="schemaObjectPrefix" value="fs_ver_" />
+               </FileSystem>
+               <PersistenceManager
+                       class="org.apache.jackrabbit.core.persistence.pool.PostgreSQLPersistenceManager">
+                       <param name="dataSourceName" value="dataSource" />
+                       <param name="schemaObjectPrefix" value="pm_ver_" />
+               </PersistenceManager>
+       </Versioning>
+
+       <!-- Indexing -->
+       <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
+               <param name="path" value="${rep.home}/index" />
+               <param name="extractorPoolSize" value="2" />
+               <param name="supportHighlighting" value="true" />
+       </SearchIndex>
+
+       <!-- Security -->
+       <Security appName="Jackrabbit">
+               <SecurityManager class="org.argeo.security.jackrabbit.ArgeoSecurityManager"
+                       workspaceName="security">
+               </SecurityManager>
+               <AccessManager class="org.argeo.security.jackrabbit.ArgeoAccessManager">
+               </AccessManager>
+               <LoginModule class="org.argeo.security.jackrabbit.ArgeoLoginModule">
+               </LoginModule>
+       </Security>
+</Repository>
\ No newline at end of file
index 40f5a2b2d754b8217489e1d4220a544b8a46c41a..e685b294ef36384a6ac4740cd42dd3f8cbf0d1b9 100644 (file)
                <param name="schema" value="postgresql" />
                <param name="schemaObjectPrefix" value="fs_" />
        </FileSystem>
-       <DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
-               <param name="path" value="${rep.home}/datastore" />
+       <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
+               <param name="dataSourceName" value="dataSource" />
+               <param name="schemaObjectPrefix" value="ds_" />
        </DataStore>
-
+       
        <!-- Workspace templates -->
        <Workspaces rootPath="${rep.home}/workspaces"
-               defaultWorkspace="${argeo.node.repo.defaultWorkspace}" />
+               defaultWorkspace="main" />
        <Workspace name="${wsp.name}">
                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
                        <param name="dataSourceName" value="dataSource" />
index 74d9562141933a2a9050aa136681488670dcf6ba..3a35ec5a7154526d1c2f640b82c36a2fc139c37b 100644 (file)
                <param name="schema" value="postgresql" />
                <param name="schemaObjectPrefix" value="fs_" />
        </FileSystem>
-       <DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
-               <param name="path" value="${rep.home}/datastore" />
+       <DataStore class="org.apache.jackrabbit.core.data.db.DbDataStore">
+               <param name="dataSourceName" value="dataSource" />
+               <param name="schemaObjectPrefix" value="ds_" />
        </DataStore>
 
        <!-- Workspace templates -->
        <Workspaces rootPath="${rep.home}/workspaces"
-               defaultWorkspace="${argeo.node.repo.defaultWorkspace}" />
+               defaultWorkspace="main" />
        <Workspace name="${wsp.name}">
                <FileSystem class="org.apache.jackrabbit.core.fs.db.DbFileSystem">
                        <param name="dataSourceName" value="dataSource" />