From: Mathieu Baudier Date: Wed, 4 Jan 2017 13:58:31 +0000 (+0100) Subject: Introduce Jackrabbit clustering X-Git-Tag: argeo-commons-2.1.56~16 X-Git-Url: https://git.argeo.org/?p=lgpl%2Fargeo-commons.git;a=commitdiff_plain;h=2aa7721e35efe6bedfa51b2fc6952726ae011233 Introduce Jackrabbit clustering --- diff --git a/demo/argeo_node_cluster_0.properties b/demo/argeo_node_cluster_0.properties new file mode 100644 index 000000000..f5e33445b --- /dev/null +++ b/demo/argeo_node_cluster_0.properties @@ -0,0 +1,39 @@ +argeo.osgi.start.2.node=\ +org.eclipse.equinox.http.servlet,\ +org.eclipse.equinox.http.jetty,\ +org.eclipse.equinox.metatype,\ +org.eclipse.equinox.cm,\ +org.eclipse.rap.rwt.osgi + +argeo.osgi.start.3.node=\ +org.argeo.cms + +argeo.osgi.start.4.apps=\ +org.eclipse.gemini.blueprint.extender + +argeo.osgi.start.4.workbench=\ +org.eclipse.equinox.http.registry,\ + +org.osgi.framework.security=osgi +java.security.policy=file:../../all.policy + +argeo.node.repo.type=postgresql_cluster +argeo.node.repo.clusterId=03233754-16c3-49a1-8a00-58bf89a65182 +argeo.node.repo.dburl=jdbc:postgresql://localhost/argeo_node_cluster +argeo.node.repo.dbuser=argeo +argeo.node.repo.dbpassword=argeo + +# HTTP +org.osgi.service.http.port=7070 + +# i18n +argeo.i18n.locales=en,fr,ru +eclipse.registry.MultiLanguage=true +#argeo.i18n.defaultLocale=en + +# Logging +log4j.configuration=file:../../log4j.properties + +# DON'T CHANGE BELOW +org.eclipse.rap.workbenchAutostart=false +org.eclipse.equinox.http.jetty.autostart=false \ No newline at end of file diff --git a/demo/argeo_node_cluster_1.properties b/demo/argeo_node_cluster_1.properties new file mode 100644 index 000000000..89c76fe75 --- /dev/null +++ b/demo/argeo_node_cluster_1.properties @@ -0,0 +1,39 @@ +argeo.osgi.start.2.node=\ +org.eclipse.equinox.http.servlet,\ +org.eclipse.equinox.http.jetty,\ +org.eclipse.equinox.metatype,\ +org.eclipse.equinox.cm,\ +org.eclipse.rap.rwt.osgi + +argeo.osgi.start.3.node=\ +org.argeo.cms + +argeo.osgi.start.4.apps=\ +org.eclipse.gemini.blueprint.extender + +argeo.osgi.start.4.workbench=\ +org.eclipse.equinox.http.registry,\ + +org.osgi.framework.security=osgi +java.security.policy=file:../../all.policy + +argeo.node.repo.type=postgresql_cluster +argeo.node.repo.clusterId=52463fa3-2917-4814-9ff7-685c41cbc7c7 +argeo.node.repo.dburl=jdbc:postgresql://localhost/argeo_node_cluster +argeo.node.repo.dbuser=argeo +argeo.node.repo.dbpassword=argeo + +# HTTP +org.osgi.service.http.port=7071 + +# i18n +argeo.i18n.locales=en,fr,ru +eclipse.registry.MultiLanguage=true +#argeo.i18n.defaultLocale=en + +# Logging +log4j.configuration=file:../../log4j.properties + +# DON'T CHANGE BELOW +org.eclipse.rap.workbenchAutostart=false +org.eclipse.equinox.http.jetty.autostart=false \ No newline at end of file diff --git a/dep/org.argeo.dep.cms.sdk/pom.xml b/dep/org.argeo.dep.cms.sdk/pom.xml index d21ce0b3a..b699c835a 100644 --- a/dep/org.argeo.dep.cms.sdk/pom.xml +++ b/dep/org.argeo.dep.cms.sdk/pom.xml @@ -76,6 +76,16 @@ org.argeo.tp.sdk org.tmatesoft.svnkit + + + + org.argeo.tp.misc + org.postgresql.postgresql + + + org.argeo.tp.misc + org.h2 + diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitType.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitType.java index b10fd4e49..2e0c371e0 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitType.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/JackrabbitType.java @@ -2,5 +2,5 @@ package org.argeo.cms.internal.kernel; /** The available Jackrabbit node types */ public enum JackrabbitType { - localfs, h2, postgresql, postgresql_ds, memory; + localfs, h2, postgresql, postgresql_ds,postgresql_cluster, memory; } diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeDeployConfig.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeDeployConfig.java index 2f4af2eae..39ca0b34c 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeDeployConfig.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/NodeDeployConfig.java @@ -23,6 +23,7 @@ import org.argeo.naming.LdifParser; import org.argeo.naming.LdifWriter; import org.argeo.node.NodeConstants; +@Deprecated class NodeDeployConfig { private final String BASE = "ou=deploy,ou=node"; private final Path path; diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/RepoConf.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/RepoConf.java index b039db590..111c86c4a 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/RepoConf.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/RepoConf.java @@ -32,7 +32,9 @@ enum RepoConf implements EnumAD { /** Search cache size */ searchCacheSize(1000), /** Max volatile index size */ - maxVolatileIndexSize(1048576); + maxVolatileIndexSize(1048576), + /** Cluster id (if appropriate configuration) */ + clusterId("default"); /** The default value. */ private Object def; diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/RepositoryBuilder.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/RepositoryBuilder.java index 9bd81211e..f866c2b99 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/RepositoryBuilder.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/RepositoryBuilder.java @@ -55,25 +55,26 @@ class RepositoryBuilder { InputStream in = null; try { final String base = "/org/argeo/cms/internal/kernel"; - switch (type) { - case h2: - in = cl.getResourceAsStream(base + "/repository-h2.xml"); - break; - case postgresql: - in = cl.getResourceAsStream(base + "/repository-postgresql.xml"); - break; - case postgresql_ds: - in = cl.getResourceAsStream(base + "/repository-postgresql-ds.xml"); - break; - case memory: - in = cl.getResourceAsStream(base + "/repository-memory.xml"); - break; - case localfs: - in = cl.getResourceAsStream(base + "/repository-localfs.xml"); - break; - default: - throw new ArgeoJcrException("Unsupported node type " + type); - } +// switch (type) { +// case h2: +// in = cl.getResourceAsStream(base + "/repository-h2.xml"); +// break; +// case postgresql: +// in = cl.getResourceAsStream(base + "/repository-postgresql.xml"); +// break; +// case postgresql_ds: +// in = cl.getResourceAsStream(base + "/repository-postgresql-ds.xml"); +// break; +// case memory: +// in = cl.getResourceAsStream(base + "/repository-memory.xml"); +// break; +// case localfs: +// in = cl.getResourceAsStream(base + "/repository-localfs.xml"); +// break; +// default: +// throw new ArgeoJcrException("Unsupported node type " + type); +// } + in = cl.getResourceAsStream(base + "/repository-"+type.name()+".xml"); if (in == null) throw new ArgeoJcrException("Repository configuration not found"); @@ -152,6 +153,8 @@ class RepositoryBuilder { setProp(props, RepoConf.dbpassword, ""); break; case postgresql: + case postgresql_ds: + case postgresql_cluster: dburl = "jdbc:postgresql://localhost/demo"; setProp(props, RepoConf.dburl, dburl); setProp(props, RepoConf.dbuser, "argeo"); diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql-ds.xml b/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql-ds.xml deleted file mode 100644 index 07a0d0428..000000000 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql-ds.xml +++ /dev/null @@ -1,82 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql_cluster.xml b/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql_cluster.xml new file mode 100644 index 000000000..d8c23e733 --- /dev/null +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql_cluster.xml @@ -0,0 +1,87 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql_ds.xml b/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql_ds.xml new file mode 100644 index 000000000..07a0d0428 --- /dev/null +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/repository-postgresql_ds.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file