From: <tho...@us...> - 2011-04-15 21:02:39
|
Revision: 4407 http://bigdata.svn.sourceforge.net/bigdata/?rev=4407&view=rev Author: thompsonbry Date: 2011-04-15 21:02:31 +0000 (Fri, 15 Apr 2011) Log Message: ----------- Adding a basic webapp for the REST API (NanoSparqlServer deployment to a servlet container). Modified Paths: -------------- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServletContextListener.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ConfigParams.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/DeleteServlet.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/InsertServlet.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/QueryServlet.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/StatusServlet.java branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/WebAppUnassembled.java Added Paths: ----------- branches/QUADS_QUERY_BRANCH/bigdata-war/ branches/QUADS_QUERY_BRANCH/bigdata-war/src/ branches/QUADS_QUERY_BRANCH/bigdata-war/src/html/ branches/QUADS_QUERY_BRANCH/bigdata-war/src/images/ branches/QUADS_QUERY_BRANCH/bigdata-war/src/jsp/ branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/ branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/RWStore.properties branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/WEB-INF/ branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/WEB-INF/web.xml branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/log4j.properties Removed Paths: ------------- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/web.xml Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/BigdataSail.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -62,7 +62,6 @@ import java.io.IOException; import java.util.Arrays; import java.util.Collections; -import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; @@ -83,16 +82,12 @@ import org.openrdf.model.ValueFactory; import org.openrdf.model.impl.ContextStatementImpl; import org.openrdf.model.impl.NamespaceImpl; -import org.openrdf.query.Binding; import org.openrdf.query.BindingSet; import org.openrdf.query.Dataset; import org.openrdf.query.QueryEvaluationException; -import org.openrdf.query.algebra.LangMatches; import org.openrdf.query.algebra.QueryRoot; import org.openrdf.query.algebra.StatementPattern; import org.openrdf.query.algebra.TupleExpr; -import org.openrdf.query.algebra.ValueConstant; -import org.openrdf.query.algebra.Var; import org.openrdf.query.algebra.evaluation.impl.BindingAssigner; import org.openrdf.query.algebra.evaluation.impl.CompareOptimizer; import org.openrdf.query.algebra.evaluation.impl.ConjunctiveConstraintSplitter; @@ -101,10 +96,6 @@ import org.openrdf.query.algebra.evaluation.impl.QueryJoinOptimizer; import org.openrdf.query.algebra.evaluation.impl.SameTermFilterOptimizer; import org.openrdf.query.algebra.evaluation.util.QueryOptimizerList; -import org.openrdf.query.algebra.helpers.QueryModelVisitorBase; -import org.openrdf.query.impl.BindingImpl; -import org.openrdf.query.impl.DatasetImpl; -import org.openrdf.query.impl.MapBindingSet; import org.openrdf.sail.NotifyingSailConnection; import org.openrdf.sail.Sail; import org.openrdf.sail.SailConnection; @@ -688,9 +679,31 @@ * @return The {@link LocalTripleStore}. */ private static LocalTripleStore createLTS(final Properties properties) { - + final Journal journal = new Journal(properties); + return createLTS(journal, properties); + + } + + /** + * If the {@link LocalTripleStore} with the appropriate namespace exists, + * then return it. Otherwise, create the {@link LocalTripleStore}. When the + * properties indicate that full transactional isolation should be + * supported, a new {@link LocalTripleStore} will be created within a + * transaction in order to ensure that it uses isolatable indices. Otherwise + * it is created using the {@link ITx#UNISOLATED} connection. + * + * @param properties + * The properties. + * + * @return The {@link LocalTripleStore}. + */ + public static LocalTripleStore createLTS(final Journal journal, + final Properties properties) { + +// final Journal journal = new Journal(properties); + final ITransactionService txService = journal.getTransactionManager().getTransactionService(); Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServlet.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -189,8 +189,7 @@ * we should bundle the (namespace,timestamp) together as a single * object). */ - protected long getTimestamp(final String uri, - final HttpServletRequest req) { + protected long getTimestamp(final HttpServletRequest req) { final String timestamp = req.getParameter("timestamp"); @@ -214,16 +213,17 @@ * * @return The namespace. */ - protected String getNamespace(final String uri) { - -// // locate the "//" after the protocol. -// final int index = uri.indexOf("//"); + protected String getNamespace(final HttpServletRequest req) { - int snmsp = uri.indexOf("/namespace/"); + final String uri = req.getRequestURI(); + + final int snmsp = uri.indexOf("/namespace/"); if (snmsp == -1) { + // use the default namespace. return getConfig().namespace; + } // locate the next "/" in the URI path. Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServletContextListener.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServletContextListener.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/BigdataRDFServletContextListener.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -47,9 +47,11 @@ import com.bigdata.journal.ITx; import com.bigdata.journal.Journal; import com.bigdata.rdf.sail.BigdataSail; +import com.bigdata.rdf.store.ScaleOutTripleStore; import com.bigdata.service.AbstractDistributedFederation; import com.bigdata.service.IBigdataFederation; import com.bigdata.service.jini.JiniClient; +import com.bigdata.service.jini.JiniFederation; /** * Listener provides life cycle management of the {@link IIndexManager} by @@ -89,17 +91,33 @@ final String namespace; { - namespace = context.getInitParameter(ConfigParams.NAMESPACE); + String s = context.getInitParameter(ConfigParams.NAMESPACE); - if (namespace == null) - throw new RuntimeException("Required: " - + ConfigParams.NAMESPACE); + if (s == null) + s = ConfigParams.DEFAULT_NAMESPACE; + namespace = s; + if (log.isInfoEnabled()) - log.info("namespace: " + namespace); + log.info(ConfigParams.NAMESPACE + "=" + namespace); } + final boolean create; + { + + final String s = context.getInitParameter(ConfigParams.CREATE); + + if (s != null) + create = Boolean.valueOf(s); + else + create = ConfigParams.DEFAULT_CREATE; + + if (log.isInfoEnabled()) + log.info(ConfigParams.CREATE + "=" + create); + + } + final IIndexManager indexManager; if (context.getAttribute(IIndexManager.class.getName()) != null) { @@ -128,7 +146,7 @@ + ConfigParams.PROPERTY_FILE); if (log.isInfoEnabled()) - log.info("propertyFile: " + propertyFile); + log.info(ConfigParams.PROPERTY_FILE + "=" + propertyFile); indexManager = openIndexManager(propertyFile); @@ -137,6 +155,56 @@ } + if(create) { + + // Attempt to resolve the namespace. + if (indexManager.getResourceLocator().locate(namespace, + ITx.UNISOLATED) == null) { + + log.warn("Creating KB instance: namespace=" + namespace); + + if (indexManager instanceof Journal) { + + /* + * Create a local triple store. + * + * Note: This hands over the logic to some custom code + * located on the BigdataSail. + */ + + final Journal jnl = (Journal) indexManager; + + final Properties properties = new Properties(jnl + .getProperties()); + + // override the namespace. + properties.setProperty(BigdataSail.Options.NAMESPACE, + namespace); + + // create the appropriate as configured triple/quad store. + BigdataSail.createLTS(jnl, properties); + + } else { + + /* + * Register triple store for scale-out. + */ + + final JiniFederation<?> fed = (JiniFederation<?>) indexManager; + + final Properties properties = fed.getClient().getProperties(); + + final ScaleOutTripleStore lts = new ScaleOutTripleStore( + indexManager, namespace, ITx.UNISOLATED, properties); + + lts.create(); + + } + + } // if( tripleStore == null ) + + } // if( create ) + txs = (indexManager instanceof Journal ? ((Journal) indexManager).getTransactionManager() .getTransactionService() : ((IBigdataFederation<?>) indexManager).getTransactionService()); @@ -200,6 +268,10 @@ } + if (log.isInfoEnabled()) + log.info(ConfigParams.QUERY_THREAD_POOL_SIZE + "=" + + queryThreadPoolSize); + } final SparqlEndpointConfig config = new SparqlEndpointConfig( Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ConfigParams.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ConfigParams.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/ConfigParams.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -14,13 +14,23 @@ String PROPERTY_FILE = "property-file"; /** - * The default bigdata namespace of for the triple or quad store - * instance to be exposed (there can be many triple or quad store - * instances within a bigdata instance). + * The default bigdata namespace of for the triple or quad store instance to + * be exposed (default {@link #DEFAULT_NAMESPACE}). Note that there can be + * many triple or quad store instances within a bigdata instance. */ String NAMESPACE = "namespace"; + + String DEFAULT_NAMESPACE = "kb"; /** + * When <code>true</code>, an instance of the specified {@link #NAMESPACE} + * will be created if none exists. + */ + String CREATE = "create"; + + boolean DEFAULT_CREATE = true; + + /** * The size of the thread pool used to service SPARQL queries -OR- ZERO * (0) for an unbounded thread pool (default * {@value #DEFAULT_QUERY_THREAD_POOL_SIZE}). Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/DeleteServlet.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/DeleteServlet.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/DeleteServlet.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -76,9 +76,9 @@ final long begin = System.currentTimeMillis(); - final String baseURI = "";// @todo baseURI query parameter? + final String baseURI = req.getRequestURL().toString(); - final String namespace = getNamespace(req.getRequestURI()); + final String namespace = getNamespace(req); final String queryStr = req.getParameter("query"); @@ -227,9 +227,9 @@ final long begin = System.currentTimeMillis(); - final String baseURI = "";// @todo baseURI query parameter? + final String baseURI = req.getRequestURL().toString(); - final String namespace = getNamespace(req.getRequestURI()); + final String namespace = getNamespace(req); final String contentType = req.getContentType(); Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/InsertServlet.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/InsertServlet.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/InsertServlet.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -107,9 +107,9 @@ final long begin = System.currentTimeMillis(); - final String baseURI = "";// @todo baseURI query parameter? + final String baseURI = req.getRequestURL().toString(); - final String namespace = getNamespace(req.getRequestURI()); + final String namespace = getNamespace(req); final String contentType = req.getContentType(); @@ -218,7 +218,7 @@ final long begin = System.currentTimeMillis(); - final String namespace = getNamespace(req.getRequestURI()); + final String namespace = getNamespace(req); final String[] uris = req.getParameterValues("uri"); Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/QueryServlet.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/QueryServlet.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/QueryServlet.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -79,9 +79,9 @@ private void doQuery(final HttpServletRequest req, final HttpServletResponse resp) throws IOException { - final String namespace = getNamespace(req.getRequestURI()); + final String namespace = getNamespace(req); - final long timestamp = getTimestamp(req.getRequestURI(), req); + final long timestamp = getTimestamp(req); final String queryStr = req.getParameter("query"); Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/StatusServlet.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/StatusServlet.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/StatusServlet.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -104,8 +104,7 @@ // General information on the connected kb. current.node("pre", getBigdataRDFContext().getKBInfo( - getNamespace(req.getRequestURI()), - getTimestamp(req.getRequestURI(), req)).toString()); + getNamespace(req), getTimestamp(req)).toString()); } Modified: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/WebAppUnassembled.java =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/WebAppUnassembled.java 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/WebAppUnassembled.java 2011-04-15 21:02:31 UTC (rev 4407) @@ -65,7 +65,7 @@ int port = 80; // default config file. - String file = "bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/web.xml"; + String file = "bigdata-war/src/resources/WEB-INF/web.xml"; /* * Handle all arguments starting with "-". These should appear before Deleted: branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/web.xml =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/web.xml 2011-04-15 17:07:00 UTC (rev 4406) +++ branches/QUADS_QUERY_BRANCH/bigdata-sails/src/java/com/bigdata/rdf/sail/webapp/web.xml 2011-04-15 21:02:31 UTC (rev 4407) @@ -1,63 +0,0 @@ -<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> -<web-app> - <display-name>Bigdata</display-name> - <description>Bigdata</description> - <context-param> - <param-name>property-file</param-name> - <param-value>bigdata-perf/lubm/WORMStore.properties</param-value> - <description>The property file (for a standalone database instance) or the - jini configuration file (for a federation). The file MUST end with either - ".properties" or ".config".</description> - </context-param> - <context-param> - <param-name>namespace</param-name> - <param-value>LUBM_U1</param-value> - <description>The default bigdata namespace of for the triple or quad store - instance to be exposed (there can be many triple or quad store instances - within a bigdata instance).</description> - </context-param> - <context-param> - <param-name>query-thread-pool-size</param-name> - <param-value>8</param-value> - <description>The size of the thread pool used to service SPARQL queries -OR- - ZERO (0) for an unbounded thread pool.</description> - </context-param> - <context-param> - <param-name>force-overflow</param-name> - <param-value>false</param-value> - <description>Force a compacting merge of all shards on all data - services in a bigdata federation (this option should only be - used for benchmarking purposes).</description> - </context-param> - <listener> - <listener-class>com.bigdata.rdf.sail.webapp.BigdataRDFServletContextListener</listener-class> - </listener> - <servlet> - <servlet-name>REST API</servlet-name> - <display-name>REST API</display-name> - <servlet-class>com.bigdata.rdf.sail.webapp.RESTServlet</servlet-class> - <load-on-startup>0</load-on-startup> - </servlet> - <servlet> - <servlet-name>Status</servlet-name> - <display-name>Status</display-name> - <servlet-class>com.bigdata.rdf.sail.webapp.StatusServlet</servlet-class> - </servlet> - <servlet> - <servlet-name>Counters</servlet-name> - <display-name>Performance counters</display-name> - <servlet-class>com.bigdata.rdf.sail.webapp.CountersServlet</servlet-class> - </servlet> - <servlet-mapping> - <servlet-name>REST API</servlet-name> - <url-pattern>/</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>Status</servlet-name> - <url-pattern>/status</url-pattern> - </servlet-mapping> - <servlet-mapping> - <servlet-name>Counters</servlet-name> - <url-pattern>/counters</url-pattern> - </servlet-mapping> -</web-app> Added: branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/RWStore.properties =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/RWStore.properties (rev 0) +++ branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/RWStore.properties 2011-04-15 21:02:31 UTC (rev 4407) @@ -0,0 +1,30 @@ +# +# Note: These options are applied when the journal and the triple store are +# first created. + +## +## Journal options. +## + +# The backing file. +com.bigdata.journal.AbstractJournal.file=bigdata.jnl + +# The persistence engine. Use 'Disk' for the WORM or 'DiskRW' for the RWStore. +com.bigdata.journal.AbstractJournal.bufferMode=DiskRW + +com.bigdata.btree.writeRetentionQueue.capacity=4000 +com.bigdata.btree.BTree.branchingFactor=128 + +# 200M initial extent. +com.bigdata.journal.AbstractJournal.initialExtent=209715200 +com.bigdata.journal.AbstractJournal.maximumExtent=209715200 + +## +## Setup for QUADS mode without the full text index. +## +com.bigdata.rdf.sail.truthMaintenance=false +com.bigdata.rdf.store.AbstractTripleStore.quads=false +com.bigdata.rdf.store.AbstractTripleStore.statementIdentifiers=false +com.bigdata.rdf.store.AbstractTripleStore.textIndex=false +com.bigdata.rdf.store.AbstractTripleStore.axiomsClass=com.bigdata.rdf.axioms.NoAxioms +#com.bigdata.rdf.store.AbstractTripleStore.inlineDateTimes=true Property changes on: branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/RWStore.properties ___________________________________________________________________ Added: svn:keywords + Id Date Revision Author HeadURL Added: branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/WEB-INF/web.xml =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/WEB-INF/web.xml (rev 0) +++ branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/WEB-INF/web.xml 2011-04-15 21:02:31 UTC (rev 4407) @@ -0,0 +1,70 @@ +<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> +<web-app> + <display-name>Bigdata</display-name> + <description>Bigdata</description> + <context-param> + <param-name>property-file</param-name> + <param-value>../webapps/bigdata/RWStore.properties</param-value> + <description>The property file (for a standalone database instance) or the + jini configuration file (for a federation). The file MUST end with either + ".properties" or ".config". This path is relative to the directory from + which you start the servlet container so you may have to edit it for your + installation, e.g., by specifying an absolution path. Also, it is a good + idea to review the RWStore.properties file as well and specify the location + of the database file on which it will persist your data.</description> + </context-param> + <context-param> + <param-name>namespace</param-name> + <param-value>kb</param-value> + <description>The default bigdata namespace of for the triple or quad store + instance to be exposed.</description> + </context-param> + <context-param> + <param-name>create</param-name> + <param-value>true</param-value> + <description>When true a new triple or quads store instance will be created + if none is found at that namespace.</description> + </context-param> + <context-param> + <param-name>query-thread-pool-size</param-name> + <param-value>16</param-value> + <description>The size of the thread pool used to service SPARQL queries -OR- + ZERO (0) for an unbounded thread pool.</description> + </context-param> + <listener> + <listener-class>com.bigdata.rdf.sail.webapp.BigdataRDFServletContextListener</listener-class> + </listener> + <servlet> + <servlet-name>REST API</servlet-name> + <display-name>REST API</display-name> + <description>The REST API, including a SPARQL end point, as described at + https://sourceforge.net/apps/mediawiki/bigdata/index.php?title=NanoSparqlServer + </description> + <servlet-class>com.bigdata.rdf.sail.webapp.RESTServlet</servlet-class> + <load-on-startup>0</load-on-startup> + </servlet> + <servlet> + <servlet-name>Status</servlet-name> + <display-name>Status</display-name> + <description>A status page.</description> + <servlet-class>com.bigdata.rdf.sail.webapp.StatusServlet</servlet-class> + </servlet> + <servlet> + <servlet-name>Counters</servlet-name> + <display-name>Performance counters</display-name> + <description>Performance counters.</description> + <servlet-class>com.bigdata.rdf.sail.webapp.CountersServlet</servlet-class> + </servlet> + <servlet-mapping> + <servlet-name>REST API</servlet-name> + <url-pattern>/</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>Status</servlet-name> + <url-pattern>/status</url-pattern> + </servlet-mapping> + <servlet-mapping> + <servlet-name>Counters</servlet-name> + <url-pattern>/counters</url-pattern> + </servlet-mapping> +</web-app> Property changes on: branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/WEB-INF/web.xml ___________________________________________________________________ Added: svn:keywords + Id Date Revision Author HeadURL Added: branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/log4j.properties =================================================================== --- branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/log4j.properties (rev 0) +++ branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/log4j.properties 2011-04-15 21:02:31 UTC (rev 4407) @@ -0,0 +1,80 @@ +# Default log4j configuration. See the individual classes for the +# specific loggers, but generally they are named for the class in +# which they are defined. + +# Default log4j configuration for testing purposes. +# +# You probably want to set the default log level to ERROR. +# +log4j.rootCategory=WARN, dest1 +#log4j.rootCategory=WARN, dest2 + +# Loggers. +# Note: logging here at INFO or DEBUG will significantly impact throughput! +log4j.logger.com.bigdata=WARN +log4j.logger.com.bigdata.btree=WARN + +# Normal data loader (single threaded). +#log4j.logger.com.bigdata.rdf.store.DataLoader=INFO + +# dest1 +log4j.appender.dest1=org.apache.log4j.ConsoleAppender +log4j.appender.dest1.layout=org.apache.log4j.PatternLayout +log4j.appender.dest1.layout.ConversionPattern=%-5p: %F:%L: %m%n +#log4j.appender.dest1.layout.ConversionPattern=%-5p: %r %l: %m%n +#log4j.appender.dest1.layout.ConversionPattern=%-5p: %m%n +#log4j.appender.dest1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n +#log4j.appender.dest1.layout.ConversionPattern=%-4r(%d) [%t] %-5p %c(%l:%M) %x - %m%n + +# dest2 includes the thread name and elapsed milliseconds. +# Note: %r is elapsed milliseconds. +# Note: %t is the thread name. +# See http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html +log4j.appender.dest2=org.apache.log4j.ConsoleAppender +log4j.appender.dest2.layout=org.apache.log4j.PatternLayout +log4j.appender.dest2.layout.ConversionPattern=%-5p: %r %X{hostname} %X{serviceUUID} %X{taskname} %X{timestamp} %X{resources} %t %l: %m%n + +## +# Rule execution log. This is a formatted log file (comma delimited). +log4j.logger.com.bigdata.relation.rule.eval.RuleLog=INFO,ruleLog +log4j.additivity.com.bigdata.relation.rule.eval.RuleLog=false +log4j.appender.ruleLog=org.apache.log4j.FileAppender +log4j.appender.ruleLog.Threshold=ALL +log4j.appender.ruleLog.File=rules.log +log4j.appender.ruleLog.Append=true +# I find that it is nicer to have this unbuffered since you can see what +# is going on and to make sure that I have complete rule evaluation logs +# on shutdown. +log4j.appender.ruleLog.BufferedIO=false +log4j.appender.ruleLog.layout=org.apache.log4j.PatternLayout +log4j.appender.ruleLog.layout.ConversionPattern=%m + +## +# Summary query evaluation log (tab delimited file). Uncomment the next line to enable. +#log4j.logger.com.bigdata.bop.engine.QueryLog=INFO,queryLog +log4j.additivity.com.bigdata.bop.engine.QueryLog=false +log4j.appender.queryLog=org.apache.log4j.FileAppender +log4j.appender.queryLog.Threshold=ALL +log4j.appender.queryLog.File=queryLog.csv +log4j.appender.queryLog.Append=true +# I find that it is nicer to have this unbuffered since you can see what +# is going on and to make sure that I have complete rule evaluation logs +# on shutdown. +log4j.appender.queryLog.BufferedIO=false +log4j.appender.queryLog.layout=org.apache.log4j.PatternLayout +log4j.appender.queryLog.layout.ConversionPattern=%m + +## +# BOp run state trace (tab delimited file). Uncomment the next line to enable. +#log4j.logger.com.bigdata.bop.engine.RunState$TableLog=INFO,queryRunStateLog +log4j.additivity.com.bigdata.bop.engine.RunState$TableLog=false +log4j.appender.queryRunStateLog=org.apache.log4j.FileAppender +log4j.appender.queryRunStateLog.Threshold=ALL +log4j.appender.queryRunStateLog.File=queryRunState.log +log4j.appender.queryRunStateLog.Append=true +# I find that it is nicer to have this unbuffered since you can see what +# is going on and to make sure that I have complete rule evaluation logs +# on shutdown. +log4j.appender.queryRunStateLog.BufferedIO=false +log4j.appender.queryRunStateLog.layout=org.apache.log4j.PatternLayout +log4j.appender.queryRunStateLog.layout.ConversionPattern=%m Property changes on: branches/QUADS_QUERY_BRANCH/bigdata-war/src/resources/log4j.properties ___________________________________________________________________ Added: svn:keywords + Id Date Revision Author HeadURL This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |