/** * Set time, in milliseconds * * @see #setTimeout(long, java.util.concurrent.TimeUnit) */ @Override public void setTimeout(long timeout) { a.setTimeout(timeout); b.setTimeout(timeout); }
/** * Set time, in milliseconds * * @see #setTimeout(long, java.util.concurrent.TimeUnit, long, java.util.concurrent.TimeUnit) */ @Override public void setTimeout(long timeout1, long timeout2) { a.setTimeout(timeout1, timeout2); b.setTimeout(timeout1, timeout2); }
/** * Set timeouts on the query execution; the first timeout refers to time to first result, * the second refers to overall query execution after the first result. * Processing will be aborted if a timeout expires. * Not all query execution systems support timeouts. * A timeout of less than zero means no timeout; this can be used for timeout1 or timeout2. */ @Override public void setTimeout(long timeout1, TimeUnit timeUnit1, long timeout2, TimeUnit timeUnit2) { a.setTimeout(timeout1, timeUnit1, timeout2, timeUnit2); b.setTimeout(timeout1, timeUnit1, timeout2, timeUnit2); }
@Override public void setTimeout(long timeout) { decoratee.setTimeout(timeout); }
/** * Set a timeout on the query execution. * Processing will be aborted after the timeout (which starts when the approprate exec call is made). * Not all query execution systems support timeouts. * A timeout of less than zero means no timeout. */ @Override public void setTimeout(long timeout, TimeUnit timeoutUnits) { a.setTimeout(timeout, timeoutUnits); b.setTimeout(timeout, timeoutUnits); }
@Override public void setTimeout(long timeout, TimeUnit timeoutUnits) { decoratee.setTimeout(timeout, timeoutUnits); }
@Override public void setTimeout(long timeout1, TimeUnit timeUnit1, long timeout2, TimeUnit timeUnit2) { decoratee.setTimeout(timeout1, timeUnit1, timeout2, timeUnit2); }
@Override public void setTimeout(long timeout1, long timeout2) { decoratee.setTimeout(timeout1, timeout2); }
String service = "http://dbpedia.org/sparql"; QueryExecution qexec = QueryExecutionFactory.create(query, service) ; qexec.setTimeout(10, TimeUnit.MINUTES); ResultSet results = qexec.execSelect() ; String result = ResultSetFormatter.asText(results);
private void configureWithTimeout(QueryExecution qe) { // Note maxRetrieval time implies a setting of max execution time if(maxExecutionTime != null) { if(maxRetrievalTime != null) { qe.setTimeout(maxExecutionTime.getTime(), maxExecutionTime.getTimeUnit(), maxRetrievalTime.getTime(), maxRetrievalTime.getTimeUnit()); } else { qe.setTimeout(maxExecutionTime.getTime(), maxExecutionTime.getTimeUnit()); } } }
public static void main(String[] args) throws Exception { QueryExecutionFactory qef = new QueryExecutionFactoryHttp("http://live.dbpedia.org/sparql", "http://dbpedia.org"); qef = new QueryExecutionFactoryRetry(qef).retryOn(Exception.class).withMaxRetries(3).withMinDelay(500).withMaxDelay(1000); String query = "SELECT ?type (COUNT(?s) AS ?cnt) WHERE {?s a <http://dbpedia.org/ontology/Person> . ?s a ?type .} GROUP BY ?type ORDER BY DESC(?cnt)"; QueryExecution qe = qef.createQueryExecution(query); qe.setTimeout(10000); ResultSet rs = qe.execSelect(); System.out.println(ResultSetFormatter.asText(rs)); }
@Test public void timeout_06() { String qs = prefix + "SELECT * { ?s ?p ?o FILTER f:wait(1) }" ; // Sleep in execution to kick timer thread. try(QueryExecution qExec = QueryExecutionFactory.create(qs, ds)) { qExec.setTimeout(100, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; ResultSetFormatter.consume(rs) ; } }
@Test public void timeout_08() { // No timeout. String qs = prefix + "SELECT * { ?s ?p ?o FILTER f:wait(1) }" ; try(QueryExecution qExec = QueryExecutionFactory.create(qs, ds)) { qExec.setTimeout(-1, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; ResultSetFormatter.consume(rs) ; } }
@Test public void timeout_01() { // Test unstable on loaded Jenkins CI on Windows. String qs = prefix + "SELECT * { ?s ?p ?o }" ; QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ; qExec.setTimeout(50, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; sleep(timeout(100, 300)) ; exceptionExpected(rs) ; }
@Test public void timeout_03() { String qs = prefix + "SELECT * { ?s ?p ?o }" ; @SuppressWarnings("resource") QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ; qExec.setTimeout(100, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; ResultSetFormatter.consume(rs) ; qExec.close() ; qExec.abort() ; }
@Test public void timeout_04() { String qs = prefix + "SELECT * { ?s ?p ?o }" ; try(QueryExecution qExec = QueryExecutionFactory.create(qs, ds)) { qExec.setTimeout(50, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; ResultSetFormatter.consume(rs) ; sleep(100) ; rs.hasNext() ; // Query ended - calling rs.hasNext() is safe. } }
@Test public void timeout_02() { // Test unstable on loaded Jenkins CI on Windows. String qs = prefix + "SELECT * { ?s ?p ?o }" ; QueryExecution qExec = QueryExecutionFactory.create(qs, ds) ; qExec.setTimeout(50, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; rs.next() ; sleep(timeout(75, 300)) ; exceptionExpected(rs) ; }
@Test public void timeout_11() { String qs = prefix + "SELECT * { ?s ?p ?o }" ; try(QueryExecution qExec = QueryExecutionFactory.create(qs, ds)) { qExec.setTimeout(-1, TimeUnit.MILLISECONDS, 100, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; rs.next() ; // First timeout does not go off. Resets timer. rs.next() ; // Second timeout does not go off sleep(200) ; exceptionExpected(rs) ; } }
@Test public void timeout_09() { String qs = prefix + "SELECT * { ?s ?p ?o }" ; try(QueryExecution qExec = QueryExecutionFactory.create(qs, ds)) { qExec.setTimeout(500, TimeUnit.MILLISECONDS, -1, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; rs.next() ; // First timeout does not go off. Resets timers. rs.next() ; // Second timeout never goes off assertTrue(rs.hasNext()) ; ResultSetFormatter.consume(rs) ; // Second timeout does not go off. } }
@Test public void timeout_10() { String qs = prefix + "SELECT * { ?s ?p ?o }" ; try(QueryExecution qExec = QueryExecutionFactory.create(qs, ds)) { qExec.setTimeout(100, TimeUnit.MILLISECONDS, 100, TimeUnit.MILLISECONDS) ; ResultSet rs = qExec.execSelect() ; rs.next() ; // First timeout does not go off. Resets timers. rs.next() ; // Second timeout never goes off assertTrue(rs.hasNext()) ; sleep(200) ; exceptionExpected(rs) ; } }