really add the webapp launcher for bigdata
Project: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/commit/5598e30d Tree: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/tree/5598e30d Diff: http://git-wip-us.apache.org/repos/asf/incubator-marmotta/diff/5598e30d Branch: refs/heads/develop Commit: 5598e30d7a5aef54fdb9da400443ae70ef11d22e Parents: 8c4007f Author: Sebastian Schaffert <[email protected]> Authored: Wed Oct 2 21:17:47 2013 +0200 Committer: Sebastian Schaffert <[email protected]> Committed: Wed Oct 2 21:17:47 2013 +0200 ---------------------------------------------------------------------- launchers/marmotta-webapp-bigdata/assembly.xml | 63 + launchers/marmotta-webapp-bigdata/pom.xml | 258 ++ .../src/main/doc/README.txt | 111 + .../src/main/resources/META-INF/beans.xml | 28 + .../src/main/resources/ehcache-marmotta.xml | 407 +++ .../src/main/resources/logback.xml | 39 + .../src/main/webapp/META-INF/DISCLAIMER | 16 + .../src/main/webapp/META-INF/LICENSE | 2893 ++++++++++++++++++ .../src/main/webapp/META-INF/NOTICE | 42 + .../src/main/webapp/META-INF/jetty-web.xml | 27 + .../src/main/webapp/WEB-INF/jetty-web.xml | 36 + .../src/main/webapp/WEB-INF/web.xml | 163 + .../src/main/webapp/index.jsp | 25 + .../src/test/resources/META-INF/beans.xml | 26 + .../resources/META-INF/test-persistence.xml | 83 + .../src/test/resources/WEB-INF/test-web.xml | 188 ++ .../src/test/resources/arquillian.xml | 27 + .../src/test/resources/ehcache.xml | 377 +++ .../src/test/resources/jndi.properties | 14 + .../src/test/resources/logback.xml | 68 + .../src/test/resources/test-config.properties | 71 + 21 files changed, 4962 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5598e30d/launchers/marmotta-webapp-bigdata/assembly.xml ---------------------------------------------------------------------- diff --git a/launchers/marmotta-webapp-bigdata/assembly.xml b/launchers/marmotta-webapp-bigdata/assembly.xml new file mode 100644 index 0000000..fdeccf1 --- /dev/null +++ b/launchers/marmotta-webapp-bigdata/assembly.xml @@ -0,0 +1,63 @@ +<!-- + ~ Licensed to the Apache Software Foundation (ASF) under one or more + ~ contributor license agreements. See the NOTICE file distributed with + ~ this work for additional information regarding copyright ownership. + ~ The ASF licenses this file to You under the Apache License, Version 2.0 + ~ (the "License"); you may not use this file except in compliance with + ~ the License. You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + --> +<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.2 http://maven.apache.org/xsd/assembly-1.1.2.xsd"> + + <id>webapp</id> + + <formats> + <format>zip</format> + <format>tar.gz</format> + </formats> + + <!-- unpack to apache-marmotta-x.x.x directory --> + <includeBaseDirectory>true</includeBaseDirectory> + + + <files> + <file> + <source>${project.basedir}/src/main/webapp/META-INF/LICENSE</source> + <destName>LICENSE.txt</destName> + <outputDirectory>/</outputDirectory> + <fileMode>0644</fileMode> + </file> + <file> + <source>${project.basedir}/src/main/doc/README.txt</source> + <outputDirectory>/</outputDirectory> + <fileMode>0644</fileMode> + <filtered>true</filtered> + </file> + <file> + <source>${project.basedir}/../../DISCLAIMER.txt</source> + <outputDirectory>/</outputDirectory> + <fileMode>0644</fileMode> + <filtered>true</filtered> + </file> + <file> + <source>${project.basedir}/src/main/webapp/META-INF/NOTICE</source> + <destName>NOTICE.txt</destName> + <outputDirectory>/</outputDirectory> + <fileMode>0644</fileMode> + </file> + <file> + <source>${project.build.directory}/marmotta.war</source> + <outputDirectory>/</outputDirectory> + <fileMode>0644</fileMode> + </file> + </files> +</assembly> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5598e30d/launchers/marmotta-webapp-bigdata/pom.xml ---------------------------------------------------------------------- diff --git a/launchers/marmotta-webapp-bigdata/pom.xml b/launchers/marmotta-webapp-bigdata/pom.xml new file mode 100644 index 0000000..cd2b5e7 --- /dev/null +++ b/launchers/marmotta-webapp-bigdata/pom.xml @@ -0,0 +1,258 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.marmotta</groupId> + <artifactId>marmotta-parent</artifactId> + <version>3.2.0-incubating-SNAPSHOT</version> + <relativePath>../../parent</relativePath> + </parent> + + <artifactId>marmotta-webapp-bigdata</artifactId> + <packaging>war</packaging> + + <name>Apache Marmotta Web Application (BigData Bundle)</name> + <description>Web Application bundle (WAR file) containing Apache Marmotta. This package is bundled with the GPL + licensed BigData backend and therefore not build by default. + </description> + + <properties> + <!-- these are used for the goals tomcat6/7:run or jetty:run --> + <marmotta.home>/tmp/marmotta</marmotta.home> + <marmotta.context>/</marmotta.context> + <marmotta.port>8080</marmotta.port> + </properties> + + <repositories> + <repository> + <id>bigdata.releases</id> + <url>http://www.systap.com/maven/releases/</url> + </repository> + </repositories> + + <build> + <finalName>marmotta</finalName> + <pluginManagement> + <plugins> + <plugin> + <artifactId>maven-war-plugin</artifactId> + <version>2.3</version> + <configuration> + <archive> + <manifest> + <addDefaultImplementationEntries>true</addDefaultImplementationEntries> + <addDefaultSpecificationEntries>true</addDefaultSpecificationEntries> + </manifest> + </archive> + <archiveClasses>false</archiveClasses> + </configuration> + </plugin> + <plugin> <!-- generate JRebel Configuration --> + <groupId>org.zeroturnaround</groupId> + <artifactId>jrebel-maven-plugin</artifactId> + <configuration> + <relativePath>../</relativePath> + <rootPath>${rebel.root}</rootPath> + </configuration> + </plugin> + <plugin> + <artifactId>maven-install-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + <plugin> + <artifactId>maven-deploy-plugin</artifactId> + <configuration> + <skip>true</skip> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.tomcat.maven</groupId> + <artifactId>tomcat7-maven-plugin</artifactId> + <version>2.1</version> + <configuration> + <path>${marmotta.context}</path> + <port>${marmotta.port}</port> + <systemProperties> + <marmotta.home>${marmotta.home}</marmotta.home> + </systemProperties> + <!-- <contextReloadable>true</contextReloadable> --> + <!-- <backgroundProcessorDelay>10</backgroundProcessorDelay> --> + </configuration> + </plugin> + </plugins> + </pluginManagement> + <resources> + <resource> + <directory>src/main/resources</directory> + <filtering>true</filtering> + </resource> + </resources> + <plugins> + <plugin> + <groupId>org.apache.tomcat.maven</groupId> + <artifactId>tomcat7-maven-plugin</artifactId> + </plugin> + <plugin> + <artifactId>maven-dependency-plugin</artifactId> + </plugin> + + <plugin> + <groupId>org.jasig.maven</groupId> + <artifactId>maven-notice-plugin</artifactId> + <version>1.0.4</version> + <configuration> + <noticeTemplate>NOTICE.template</noticeTemplate> + <licenseMapping> + <param>../../license-mappings.xml</param> + </licenseMapping> + <noticeMessage>* {0}, under {1}</noticeMessage> + </configuration> + </plugin> + </plugins> + </build> + + <profiles> + <profile> + <id>cleanall</id> + <build> + <plugins> + <plugin> + <artifactId>maven-clean-plugin</artifactId> + <version>2.5</version> + <configuration> + <filesets> + <fileset> + <directory>${marmotta.home}</directory> + <followSymlinks>true</followSymlinks> + </fileset> + </filesets> + </configuration> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>marmotta-release</id> + <build> + <plugins> + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>single</goal> + </goals> + <phase>package</phase> + <configuration> + <descriptors> + <descriptor>assembly.xml</descriptor> + </descriptors> + <finalName>apache-marmotta-${project.version}</finalName> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> + + <dependencies> + <!-- Marmotta Modules, include the ones needed by the application --> + <dependency> + <groupId>org.apache.marmotta</groupId> + <artifactId>marmotta-core</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.marmotta</groupId> + <artifactId>marmotta-ldpath</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.marmotta</groupId> + <artifactId>marmotta-backend-bigdata</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.marmotta</groupId> + <artifactId>marmotta-sparql</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.marmotta</groupId> + <artifactId>marmotta-security</artifactId> + <version>${project.version}</version> + </dependency> + <dependency> + <groupId>org.apache.marmotta</groupId> + <artifactId>marmotta-user</artifactId> + <version>${project.version}</version> + </dependency> + + <!-- Servlet / CDI Environment --> + <dependency> + <groupId>javax.el</groupId> + <artifactId>javax.el-api</artifactId> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.jboss.weld.servlet</groupId> + <artifactId>weld-servlet-core</artifactId> + </dependency> + <dependency> + <groupId>org.jboss.weld</groupId> + <artifactId>weld-core</artifactId> + </dependency> + + + <dependency> + <groupId>com.bigdata</groupId> + <artifactId>bigdata</artifactId> + <version>1.2.3</version> + <exclusions> + <exclusion> + <groupId>org.openrdf.sesame</groupId> + <artifactId>sesame-runtime</artifactId> + </exclusion> + <exclusion> + <groupId>log4j</groupId> + <artifactId>log4j</artifactId> + </exclusion> + <exclusion> + <groupId>org.slf4j</groupId> + <artifactId>slf4j-log4j12</artifactId> + </exclusion> + + </exclusions> + </dependency> + + <!-- CORS filter --> + <dependency> + <groupId>com.thetransactioncompany</groupId> + <artifactId>cors-filter</artifactId> + </dependency> + + </dependencies> + +</project> http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5598e30d/launchers/marmotta-webapp-bigdata/src/main/doc/README.txt ---------------------------------------------------------------------- diff --git a/launchers/marmotta-webapp-bigdata/src/main/doc/README.txt b/launchers/marmotta-webapp-bigdata/src/main/doc/README.txt new file mode 100644 index 0000000..e8b47f2 --- /dev/null +++ b/launchers/marmotta-webapp-bigdata/src/main/doc/README.txt @@ -0,0 +1,111 @@ +Apache Marmotta Web Application +=============================== + +This package contains a special version for the binary web application of the +Apache Marmotta Platform packaged with the high-performance BigData triple +store implementation. + +The package can be deployed in any Java Application Server (with Servlet API 2.5 or +higher). Apache Marmotta is tested on the following servers: +- Apache Tomcat 6.x and 7.x +- Jetty 6.x + +However, most other servers should also work without problems. + +The following sections give a short introduction how to deploy the Marmotta +Web Application in your server. More detailed instructions are available at: + +http://marmotta.incubator.apache.org/installation.html + + +1. Requirements +--------------- + +The following minimum requirements need to be satisfied to run the Apache +Marmotta Web Application: + +Hardware: +- Dual-Core CPU +- 1GB main memory +- 100MB hard disk + +Software: +- Java JDK 6 or higher +- Java Application Server (Apache Tomcat 6.x/7.x or Jetty 6.x) + +If no database is available, Apache Marmotta will use an embedded H2 database +for storing its data. This should only be used for testing and demonstration +purposes and is strongly discouraged for production deployments. + + +2. Deployment +------------- + +To deploy the Apache Marmotta Web Application in your application server, +follow the following steps: + +1. download and install the application server and the database you intend + to use (PostgreSQL or MySQL) +2a. set the environment variable MARMOTTA_HOME to the directory where + Apache Marmotta should store its persistent runtime data; this can also + be done permanently in the startup scripts of the application server +2b. alternatively, configure a context definition for your web application + that sets the init parameter "marmotta.home" to the directory where + Apache Marmotta should store its persistent runtime data (see below) +3. configure the application server with sufficient main memory + (1GB heap space, 256MB permgen space) +4. copy marmotta.war to the deployment root of your application server + (Tomcat and Jetty: the webapps/ subdirectory) +5. start up your application server using the startup script or similar + provided by the distribution + +Examples: + +Environment variables for home directory and application server memory: + +> export MARMOTTA_HOME=<PATH-TO-HOME> +> export JAVA_OPTS="-Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m" + +Tomcat context definition for handing over the home directory init parameter +(in conf/Catalina/localhost/marmotta.xml): + +<Context docBase="/path/to/marmotta.war" unpackWAR="false" useNaming="true"> + <Parameter name="marmotta.home" value="/data/marmotta" override="false"/> +</Context> + + +3. Configuration +---------------- + +3.1 Access Admin Interface + +You can now access the Apache Marmotta Web Application through your browser, +e.g. by accessing the URL: + + http://localhost:8080/marmotta + +Note that the host name and port you are using for the first access of your +installation decide on how Linked Data resources will be created later. If +you plan a production deployment, you should therefore directly deploy on +the server you are going to use and access it via the host name it will +have in the future. + + +3.2 Change Database Configuration + +In case you are not going to use the embedded H2 database, the first step you +should do is to configure a different database. The database can be changed +in the "configuration" section of the Marmotta Core module (scroll down to +the bottom of the configuration page). + +Apache Marmotta can only connect to an existing database with an existing +user and password. It will create the necessary database tables the first +time it accesses the database, in case they do not exist yet. On first start +the database should therefore be empty, or otherwise you will have old data +in your installation. + +Special note for MySQL: for legal reasons, we cannot distribute the MySQL +Java drivers that are needed to access a MySQL database. In case you aim +to use MySQL, please download the MySQL JDBC connector manually and place +it either in the application server lib/ directory or in the WEB-INF/lib +directory of Apache Marmotta. \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5598e30d/launchers/marmotta-webapp-bigdata/src/main/resources/META-INF/beans.xml ---------------------------------------------------------------------- diff --git a/launchers/marmotta-webapp-bigdata/src/main/resources/META-INF/beans.xml b/launchers/marmotta-webapp-bigdata/src/main/resources/META-INF/beans.xml new file mode 100644 index 0000000..461858e --- /dev/null +++ b/launchers/marmotta-webapp-bigdata/src/main/resources/META-INF/beans.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<beans + xmlns="http://java.sun.com/xml/ns/javaee" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=" + http://java.sun.com/xml/ns/javaee + http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"> + +</beans> http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5598e30d/launchers/marmotta-webapp-bigdata/src/main/resources/ehcache-marmotta.xml ---------------------------------------------------------------------- diff --git a/launchers/marmotta-webapp-bigdata/src/main/resources/ehcache-marmotta.xml b/launchers/marmotta-webapp-bigdata/src/main/resources/ehcache-marmotta.xml new file mode 100644 index 0000000..eb01074 --- /dev/null +++ b/launchers/marmotta-webapp-bigdata/src/main/resources/ehcache-marmotta.xml @@ -0,0 +1,407 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<!-- +CacheManager Configuration +========================== +An ehcache-marmotta.xml corresponds to a single CacheManager. + +See instructions below or the ehcache schema (ehcache.xsd) on how to configure. + +System property tokens can be specified in this file which are replaced when the configuration +is loaded. For example multicastGroupPort=${multicastGroupPort} can be replaced with the +System property either from an environment variable or a system property specified with a +command line switch such as -DmulticastGroupPort=4446. + +The attributes of <ehcache> are: +* name - an optional name for the CacheManager. The name is optional and primarily used +for documentation or to distinguish Terracotta clustered cache state. With Terracotta +clustered caches, a combination of CacheManager name and cache name uniquely identify a +particular cache store in the Terracotta clustered memory. +* updateCheck - an optional boolean flag specifying whether this CacheManager should check +for new versions of Ehcache over the Internet. If not specified, updateCheck="true". +* monitoring - an optional setting that determines whether the CacheManager should +automatically register the SampledCacheMBean with the system MBean server. Currently, +this monitoring is only useful when using Terracotta and thus the "autodetect" value +will detect the presence of Terracotta and register the MBean. Other allowed values +are "on" and "off". The default is "autodetect". +--> +<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" + updateCheck="false" + name="lmf"> + + <!-- + DiskStore configuration + ======================= + + The diskStore element is optional. To turn off disk store path creation, comment out the diskStore + element below. + + Configure it if you have overflowToDisk or diskPersistent enabled for any cache. + + If it is not configured, and a cache is created which requires a disk store, a warning will be + issued and java.io.tmpdir will automatically be used. + + diskStore has only one attribute - "path". It is the path to the directory where + .data and .index files will be created. + + If the path is one of the following Java System Property it is replaced by its value in the + running VM. For backward compatibility these are not specified without being enclosed in the ${token} + replacement syntax. + + The following properties are translated: + * user.home - KiWiUser's home directory + * user.dir - KiWiUser's current working directory + * java.io.tmpdir - Default temp file path + * ehcache.disk.store.dir - A system property you would normally specify on the command line + e.g. java -Dehcache.disk.store.dir=/u01/myapp/diskdir ... + + Subdirectories can be specified below the property e.g. java.io.tmpdir/one + + --> + <!-- + <diskStore path="java.io.tmpdir/lmf-cache/lmf"/> + --> + <!-- + Cachemanagereventlistener + ========================= + Specifies a CacheManagerEventListenerFactory which is notified when Caches are added + or removed from the CacheManager. + + The attributes of CacheManagerEventListenerFactory are: + * class - a fully qualified factory class name + * properties - comma separated properties having meaning only to the factory. + + Sets the fully qualified class name to be registered as the CacheManager event listener. + + The events include: + * adding a Cache + * removing a Cache + + Callbacks to listener methods are synchronous and unsynchronized. It is the responsibility + of the implementer to safely handle the potential performance and thread safety issues + depending on what their listener is doing. + + If no class is specified, no listener is created. There is no default. + --> + <cacheManagerEventListenerFactory class="" properties=""/> + + + <!-- + CacheManagerPeerProvider + ======================== + (For distributed operation) + + Specifies a CacheManagerPeerProviderFactory which will be used to create a + CacheManagerPeerProvider, which discovers other CacheManagers in the cluster. + + One or more providers can be configured. The first one in the ehcache-marmotta.xml is the default, which is used + for replication and bootstrapping. + + The attributes of cacheManagerPeerProviderFactory are: + * class - a fully qualified factory class name + * properties - comma separated properties having meaning only to the factory. + + Providers are available for RMI, JGroups and JMS as shown following. + + RMICacheManagerPeerProvider + +++++++++++++++++++++++++++ + + Ehcache comes with a built-in RMI-based distribution system with two means of discovery of + CacheManager peers participating in the cluster: + * automatic, using a multicast group. This one automatically discovers peers and detects + changes such as peers entering and leaving the group + * manual, using manual rmiURL configuration. A hardcoded list of peers is provided at + configuration time. + + Configuring Automatic Discovery: + Automatic discovery is configured as per the following example: + <cacheManagerPeerProviderFactory + class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" + properties="hostName=fully_qualified_hostname_or_ip, + peerDiscovery=automatic, multicastGroupAddress=230.0.0.1, + multicastGroupPort=4446, timeToLive=32"/> + + Valid properties are: + * peerDiscovery (mandatory) - specify "automatic" + * multicastGroupAddress (mandatory) - specify a valid multicast group address + * multicastGroupPort (mandatory) - specify a dedicated port for the multicast heartbeat + traffic + * timeToLive - specify a value between 0 and 255 which determines how far the packets will + propagate. + + By convention, the restrictions are: + 0 - the same host + 1 - the same subnet + 32 - the same site + 64 - the same region + 128 - the same continent + 255 - unrestricted + + * hostName - the hostname or IP of the interface to be used for sending and receiving multicast packets + (relevant to mulithomed hosts only) + + Configuring Manual Discovery: + Manual discovery requires a unique configuration per host. It is contains a list of rmiURLs for the peers, other + than itself. So, if we have server1, server2 and server3 the configuration will be: + + In server1's configuration: + <cacheManagerPeerProviderFactory class= + "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" + properties="peerDiscovery=manual, + rmiUrls=//server2:40000/sampleCache1|//server3:40000/sampleCache1 + | //server2:40000/sampleCache2|//server3:40000/sampleCache2" + propertySeparator="," /> + + In server2's configuration: + <cacheManagerPeerProviderFactory class= + "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" + properties="peerDiscovery=manual, + rmiUrls=//server1:40000/sampleCache1|//server3:40000/sampleCache1 + | //server1:40000/sampleCache2|//server3:40000/sampleCache2" + propertySeparator="," /> + + In server3's configuration: + <cacheManagerPeerProviderFactory class= + "net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" + properties="peerDiscovery=manual, + rmiUrls=//server1:40000/sampleCache1|//server2:40000/sampleCache1 + | //server1:40000/sampleCache2|//server2:40000/sampleCache2" + propertySeparator="," /> + + + Valid properties are: + * peerDiscovery (mandatory) - specify "manual" + * rmiUrls (mandatory) - specify a pipe separated list of rmiUrls, in the form + //hostname:port + * hostname (optional) - the hostname is the hostname of the remote CacheManager peer. The port is the listening + port of the RMICacheManagerPeerListener of the remote CacheManager peer. + + JGroupsCacheManagerPeerProvider + +++++++++++++++++++++++++++++++ + <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.jgroups.JGroupsCacheManagerPeerProviderFactory" + properties="connect=UDP(mcast_addr=231.12.21.132;mcast_port=45566;ip_ttl=32; + mcast_send_buf_size=150000;mcast_recv_buf_size=80000): + PING(timeout=2000;num_initial_members=6): + MERGE2(min_interval=5000;max_interval=10000): + FD_SOCK:VERIFY_SUSPECT(timeout=1500): + pbcast.NAKACK(gc_lag=10;retransmit_timeout=3000): + UNICAST(timeout=5000): + pbcast.STABLE(desired_avg_gossip=20000): + FRAG: + pbcast.GMS(join_timeout=5000;join_retry_timeout=2000;shun=false;print_local_addr=false)" + propertySeparator="::" + /> + The only property necessary is the connect String used by jgroups to configure itself. Refer to the Jgroups documentation for explanation + of all the protocols. The example above uses UDP multicast. If the connect property is not specified the default JGroups connection will be + used. + + + JMSCacheManagerPeerProviderFactory + ++++++++++++++++++++++++++++++++++ + <cacheManagerPeerProviderFactory + class="net.sf.ehcache.distribution.jms.JMSCacheManagerPeerProviderFactory" + properties="..." + propertySeparator="," + /> + + The JMS PeerProviderFactory uses JNDI to maintain message queue independence. Refer to the manual for full configuration + examples using ActiveMQ and Open Message Queue. + + Valid properties are: + * initialContextFactoryName (mandatory) - the name of the factory used to create the message queue initial context. + * providerURL (mandatory) - the JNDI configuration information for the service provider to use. + * topicConnectionFactoryBindingName (mandatory) - the JNDI binding name for the TopicConnectionFactory + * topicBindingName (mandatory) - the JNDI binding name for the topic name + * getQueueBindingName (mandatory only if using jmsCacheLoader) - the JNDI binding name for the queue name + * securityPrincipalName - the JNDI java.naming.security.principal + * securityCredentials - the JNDI java.naming.security.credentials + * urlPkgPrefixes - the JNDI java.naming.factory.url.pkgs + * userName - the user name to use when creating the TopicConnection to the Message Queue + * password - the password to use when creating the TopicConnection to the Message Queue + * acknowledgementMode - the JMS Acknowledgement mode for both publisher and subscriber. The available choices are + AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE and SESSION_TRANSACTED. The default is AUTO_ACKNOWLEDGE. + --> +<!-- <cacheManagerPeerProviderFactory--> +<!-- class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"--> +<!-- properties="peerDiscovery=automatic,--> +<!-- multicastGroupAddress=230.0.0.1,--> +<!-- multicastGroupPort=4446, timeToLive=1"--> +<!-- propertySeparator=","--> +<!-- />--> + + + <!-- + CacheManagerPeerListener + ======================== + (Enable for distributed operation) + + Specifies a CacheManagerPeerListenerFactory which will be used to create a + CacheManagerPeerListener, which listens for messages from cache replicators participating in the cluster. + + The attributes of cacheManagerPeerListenerFactory are: + class - a fully qualified factory class name + properties - comma separated properties having meaning only to the factory. + + Ehcache comes with a built-in RMI-based distribution system. The listener component is + RMICacheManagerPeerListener which is configured using + RMICacheManagerPeerListenerFactory. It is configured as per the following example: + + <cacheManagerPeerListenerFactory + class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" + properties="hostName=fully_qualified_hostname_or_ip, + port=40001, + remoteObjectPort=40002, + socketTimeoutMillis=120000" + propertySeparator="," /> + + All properties are optional. They are: + * hostName - the hostName of the host the listener is running on. Specify + where the host is multihomed and you want to control the interface over which cluster + messages are received. Defaults to the host name of the default interface if not + specified. + * port - the port the RMI Registry listener listens on. This defaults to a free port if not specified. + * remoteObjectPort - the port number on which the remote objects bound in the registry receive calls. + This defaults to a free port if not specified. + * socketTimeoutMillis - the number of ms client sockets will stay open when sending + messages to the listener. This should be long enough for the slowest message. + If not specified it defaults to 120000ms. + + --> +<!-- <cacheManagerPeerListenerFactory--> +<!-- class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>--> + + <!-- Cache configuration. + + The following attributes are required. + + name: + Sets the name of the cache. This is used to identify the cache. It must be unique. + + maxElementsInMemory: + Sets the maximum number of objects that will be created in memory + + maxElementsOnDisk: + Sets the maximum number of objects that will be maintained in the DiskStore + The default value is zero, meaning unlimited. + + eternal: + Sets whether elements are eternal. If eternal, timeouts are ignored and the + element is never expired. + + overflowToDisk: + Sets whether elements can overflow to disk when the memory store + has reached the maxInMemory limit. + + The following attributes are optional. + + timeToIdleSeconds: + Sets the time to idle for an element before it expires. + i.e. The maximum amount of time between accesses before an element expires + Is only used if the element is not eternal. + Optional attribute. A value of 0 means that an Element can idle for infinity. + The default value is 0. + + timeToLiveSeconds: + Sets the time to live for an element before it expires. + i.e. The maximum time between creation time and when an element expires. + Is only used if the element is not eternal. + Optional attribute. A value of 0 means that and Element can live for infinity. + The default value is 0. + + diskPersistent: + Whether the disk store persists between restarts of the Virtual Machine. + The default value is false. + + diskExpiryThreadIntervalSeconds: + The number of seconds between runs of the disk expiry thread. The default value + is 120 seconds. + + memoryStoreEvictionPolicy: + Policy would be enforced upon reaching the maxElementsInMemory limit. Default + policy is Least Recently Used (specified as LRU). Other policies available - + First In First Out (specified as FIFO) and Less Frequently Used + (specified as LFU) + + --> + + <!-- + Mandatory Default Cache configuration. These settings will be applied to caches + created programmtically using CacheManager.add(String cacheName) + --> + <defaultCache + maxElementsInMemory="20000" + overflowToDisk="false" + memoryStoreEvictionPolicy="LRU" + /> + + + <!-- the cache used for triple queries by KiWi --> + <cache name="uri-node-cache" + statistics="true" + maxElementsInMemory="100000" + timeToIdleSeconds="3600" + overflowToDisk="false"/> + <cache name="anon-node-cache" + statistics="true" + maxElementsInMemory="10000" + timeToIdleSeconds="3600" + overflowToDisk="false"/> + <cache name="literal-cache" + statistics="true" + maxElementsInMemory="10000" + timeToIdleSeconds="3600" + overflowToDisk="false"/> + + <cache name="namespace-prefix-cache" + statistics="true" + maxElementsInMemory="100" + overflowToDisk="false"/> + + <cache name="namespace-uri-cache" + statistics="true" + maxElementsInMemory="100" + overflowToDisk="false"/> + + <!-- the cache used for triple queries by KiWi --> + <cache name="query-cache" + statistics="true" + maxElementsInMemory="200000" + timeToIdleSeconds="3600" + overflowToDisk="false"/> + + <!-- the cache used for resource lookups from module jar files --> + <cache name="resource-cache" + statistics="true" + maxElementsInMemory="10000" + timeToIdleSeconds="3600" + timeToLiveSeconds="3600" + overflowToDisk="false" + memoryStoreEvictionPolicy="LRU"/> + + <!-- uncomment to enable cache debugging --> +<!-- + <cacheManagerPeerListenerFactory + class="org.terracotta.ehcachedx.monitor.probe.ProbePeerListenerFactory" + properties="monitorAddress=localhost, monitorPort=9889" /> +--> + +</ehcache> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5598e30d/launchers/marmotta-webapp-bigdata/src/main/resources/logback.xml ---------------------------------------------------------------------- diff --git a/launchers/marmotta-webapp-bigdata/src/main/resources/logback.xml b/launchers/marmotta-webapp-bigdata/src/main/resources/logback.xml new file mode 100644 index 0000000..c775855 --- /dev/null +++ b/launchers/marmotta-webapp-bigdata/src/main/resources/logback.xml @@ -0,0 +1,39 @@ +<!-- + + Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<configuration> + + <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> + <!-- encoders are assigned the type + ch.qos.logback.classic.encoder.PatternLayoutEncoder by default --> + <encoder> +<!-- <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> --> + <pattern>%d{HH:mm:ss.SSS} %-5level - %msg%n</pattern> +<!-- <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} - %msg%n</pattern> --> + </encoder> + </appender> + + <logger name="org.apache.marmotta.platform.core" level="INFO" /> + + <logger name="org.apache.marmotta.platform.reasoner" level="INFO" /> + + <root level="info"> + <appender-ref ref="STDOUT" /> + </root> +</configuration> http://git-wip-us.apache.org/repos/asf/incubator-marmotta/blob/5598e30d/launchers/marmotta-webapp-bigdata/src/main/webapp/META-INF/DISCLAIMER ---------------------------------------------------------------------- diff --git a/launchers/marmotta-webapp-bigdata/src/main/webapp/META-INF/DISCLAIMER b/launchers/marmotta-webapp-bigdata/src/main/webapp/META-INF/DISCLAIMER new file mode 100644 index 0000000..7391144 --- /dev/null +++ b/launchers/marmotta-webapp-bigdata/src/main/webapp/META-INF/DISCLAIMER @@ -0,0 +1,16 @@ +Apache Marmotta is an effort undergoing incubation at the Apache Software +Foundation (ASF), sponsored by the Apache Incubator PMC. + +Incubation is required of all newly accepted projects until a further review +indicates that the infrastructure, communications, and decision making process +have stabilized in a manner consistent with other successful ASF projects. + +While incubation status is not necessarily a reflection of the completeness +or stability of the code, it does indicate that the project has yet to be +fully endorsed by the ASF. + +For more information about the incubation status of the Marmotta project you +can go to the following page: + + http://marmotta.incubator.apache.org +
