-
-
Notifications
You must be signed in to change notification settings - Fork 489
Multinodes mode
Date | 30 November 2013 | Contacts | Francois Prunayre / Jesse Eichar |
Status | In progress | Release | 2.12 |
Resources | Available | Ticket # | See PR |
Source code | https://github.com/jesseeichar/core-geonetwork/tree/feature/multinode | ||
Funding | BRGM |
The multinodes mode add the capability to setup more than one catalog using the same web application. Each catalogs have its own:
- data directory (index, files)
- databases
All catalogs share the same schemas and thesaurus (to save memory). This could be configured.
Registering a new node is a 2 steps process. First declare the new node in web.xml:
<servlet-mapping>
<servlet-name>gn-servlet</servlet-name>
<url-pattern>/geosource-8/*</url-pattern>
</servlet-mapping>
Then define its configuration in config-node/<node_id>.xml:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-lazy-init="true"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context">
<import resource="classpath*:/config-spring-geonetwork.xml"/>
<import resource="../config-db/database_migration.xml"/>
<context:property-override properties-ref="geosource-8-configuration-overrides" />
<bean id="nodeInfo" class="org.fao.geonet.NodeInfo">
<property name="id" value="geosource-8" />
<property name="defaultNode" value="false" />
</bean>
<bean id="geosource-8-configuration-overrides"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="jdbcDataSource.username">www-data</prop>
<prop key="jdbcDataSource.password">www-data</prop>
<prop key="jdbcDataSource.maxActive">2</prop>
<prop key="jdbcDataSource.maxIdle">2</prop>
<prop key="jdbcDataSource.initialSize">2</prop>
<prop key="jdbcDataSource.Url">jdbc:postgresql://localhost:5432/db_8</prop>
</props>
</property>
</bean>
<import resource="../config-db/postgres.xml"/>
</beans>
The data directory contains one folder per node.
<init-param>
<param-name>geonetwork.dir</param-name>
<param-value>/application/nodes-data/data</param-value>
</init-param>
<init-param>
<param-name>geonetwork.schema.dir</param-name>
<param-value>/application/webapp/geonetwork/WEB-INF/data/config/schema_plugins</param-value>
</init-param>
<init-param>
<param-name>geonetwork.codeList.dir</param-name>
<param-value>/application/webapp/geonetwork/WEB-INF/data/config/codelist</param-value>
</init-param>
- Type: Server
- Module: Webapp
- Vote Proposed: TBA
- Jesse Eichar
- Francois Prunayre
- Etienne Taffoureau
Based on previous work made on Jeevlet (https://github.com/geosource-catalogue/jeevlet/) and draft multinode implementation (https://github.com/geosource-catalogue/core-geonetwork/tree/feature/multisite) by:
- Mathieu Coudert
- Thierry Chevalier
- Jean Pascal Boignard
If you have some comments, start a discussion, raise an issue or use one of our other communication channels to talk to us.