Table of contents
- Table of contents
- What config files does the Meandre server use?
- Where are this file located?
- The basic configuration: meandre-config-core.xml
- The back end storage configuration: meandre-config-store.xml
- The server plugin extensions configuration: meandre-config-plugins.xml
- The server probes extensions configuration: meandre-config-probes.xml
- The default locations: meandre-default-locations.txt
What config files does the Meandre server use?
The Meandre server uses four configuration files and an optional default locations file. The main configuration files are
- meandre-config-core.xml
- meandre-config-store.xml
- meandre-config-plugins.xml
- meandre-config-probes.xml
and the optional default locations file is
- meandre-default-locations.txt
Where are this file located?
This files are located at the root of your server installation. For instance, if you run your the server for the first time with the following command
java -jar meandre-server-1.4.0.jar
they will be located on the your current directory. It is common best practice to create a dedicated directory for the Meandre server to run (try to avoid running it mixed with the svn checkout if that is how you got your copy of the server). You can stop the server (just by killing it or by hitting the service http://localhost:1714/services/server/shutdown.html
) change the configuration and restart the server for those changes to take place.
The basic configuration: meandre-config-core.xml
This file contains the minimal configuration options for the Meandre server and data-intensive flow execution engine.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Meandre default configuration file (1.4.0-vcli-alpha)</comment> <entry key="MEANDRE_PUBLIC_RESOURCE_DIRECTORY">./published_resources</entry> <entry key="MEANDRE_PRIVATE_RUN_DIRECTORY">./run</entry> <entry key="MEANDRE_BASE_PORT">1714</entry> <entry key="MEANDRE_HOME_DIRECTORY">.</entry> <entry key="MEANDRE_CORE_CONFIG_FILE">./meandre-config-core.xml</entry> <entry key="MEANDRE_APP_CONTEXT"></entry> <entry key="MEANDRE_CONDUCTOR_DEFAULT_QUEUE_SIZE">6</entry> </properties>
The properties that can be set in this file are:
- MEANDRE_PUBLIC_RESOURCE_DIRECTORY: The directory that will be mounted to serve public content via the server /public/resources service.
- MEANDRE_PRIVATE_RUN_DIRECTORY: The directory that the Meandre server uses to store run time information.
- MEANDRE_BASE_PORT: The port against which the Meandre server will be run. You may run it on port 80, but you will need to run the server as a privileged user; also, if your are thinking about running this as a production server you may not want to do it this way an run, for instance, and Apache proxy front end on port 80 to handle the redirections to your server.
- MEANDRE_HOME_DIRECTORY: The relative path to the home directory. Usually you may not want to change this unless your really know what you are trying to achieve.
- MEANDRE_CORE_CONFIG_FILE: Points to the location of this configuration file. Changing this may result in and undefined behavior of the server.
- _ MEANDRE_APP_CONTEXT_: optinal By default the server installs itself on /. If you want the server running another particular location say 'meandre', you could set up this property to the desired path. Then, all subsequent requests for services to the infrastructure should be prepended the initial path specified in this property. Be careful, changing this value on an already working server may break flow execution and lead to other unexpected behavior. The proper way to get it working would be to shutdown the server, change the property, then regenerate the repository for each user in the server (this may not fix individual components installed by users thought).
- MEANDRE_CONDUCTOR_DEFAULT_QUEUE_SIZE: optional Specifies the maximun internal queues capacity. Increasing this value may help improve performance, but will trade for larger memory requirements.
The back end storage configuration: meandre-config-store.xml
The Meandre server relies on JENA
to process RDF and also to handle persistent storage. The Meandre server heavily using the JENA relational backend connector. Out of the box, the Meandre server runs an embedded Derby
backend. Despite useful for development and personal use, you may consider changing the backend storage to any of the other production strength database engines supported by JENA
. Currently, Meandre supports only Derby
and MySQL
. Others will be introduced in future releases.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Meandre default configuration file (1.4.0-vcli-alpha)</comment> <entry key="DB_USER"></entry> <entry key="DB_DRIVER_CLASS">org.apache.derby.jdbc.EmbeddedDriver</entry> <entry key="DB">Derby</entry> <entry key="MEANDRE_ADMIN_USER">admin</entry> <entry key="MEANDRE_AUTHENTICATION_REALM_FILENAME">./meandre-realm.properties</entry> <entry key="MEANDRE_STORE_CONFIG_FILE">./meandre-config-store.xml</entry> <entry key="DB_PASSWD"></entry> <entry key="DB_URL">jdbc:derby:./MeandreStore;create=true;logDevice=./MeandreStore</entry> </properties>
The properties that can be set in this file are:
- DB_USER: The database user to use
- DB_DRIVER_CLASS: The JDBC driver to use
- DB : The database flavor (currently Derby, or MySQL)
- DB_PASSWD : The database user password
- DB_URL : The JDBC connection URL
- MEANDRE_ADMIN_USER : The Meandre administration user
- MEANDRE_AUTHENTICATION_REALM_FILENAME : The webservice authentication real file (you may not want to touch this unless you know what your are doing)
- MEANDRE_STORE_CONFIG_FILE : Points to the location of this configuration file. Changing this may result in and undefined behavior of the server.
A detailed example of how to configure a MySQL
backend can be found at the Configuring the back end storage page of this wiki. Also, it is important to mention here that a Meandre cluster is create by running several Meandre servers pointing to the same backent relational storage. That is, run multiple server using the same database to create a single-image cluster across all these servers.
The server plugin extensions configuration: meandre-config-plugins.xml
This configuration file is used to highlight what infrastructure extension plugins should be used when booting the Meandre Server. You may not need to modify this file unless you are developing extensions for the infrastructure.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Meandre default plugins configuration file (1.4.0-vcli-alpha)</comment> <entry key="JARTOOL">org.meandre.plugins.tools.JarToolServlet</entry> <entry key="VFS">org.meandre.plugins.vfs.VFSServlet</entry> </properties>
The key is the plugin name, whereas the value of each property is the class name implementing the plugin. The plugin will be instantiated at server's boot time. Also, it is important that all the plugins are present on your classpath for the server to instantiated them. The Meandre server plugin interface page contains more information about how to implement an infrastructure plugin. The complete signature of a plugin and how to uses them can be found on the Meandre server plugin interface page.
The server probes extensions configuration: meandre-config-probes.xml
This configuration file is used to extend the set of default probes provided by the Meandre Server. You may not need to modify this file unless you are developing extensions for the infrastructure.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>Meandre default probes configuration file (1.4.5)</comment> <entry key="console">org.meandre.core.engine.probes.ToPrintStreamProbeImpl</entry> <entry key="null">org.meandre.core.engine.probes.NullProbeImpl</entry> <entry key="rdf">org.meandre.core.engine.probes.MeandreRDFDialectProbeImpl</entry> <entry key="statistics">org.meandre.core.engine.probes.StatisticsProbeImpl</entry> </properties>
The key is the probe name, whereas the value of each property is the class name implementing the plugin. The probe will be instantiated when a flow is going to be executed. The complete signature of probes and how to uses them can be found on the Extending flow execution probes.
The default locations: meandre-default-locations.txt
This file is optional. If it is present on the root of your Meander server run environment, the locations listed will be added to any new user created in the server. An example of this file is listed below. Each location needs to appear on a separate line
http://localhost:1714/public/services/demo_repository.ttl
If this file is provided, every time a new user is created, the demo repository will be pulled and all its components and flows will be made available to the user. Users can then remove these locations and components if they have the proper repository and locations roles assigned; otherwise they will not be able to do so.