Я пытаюсь запустить докер-контейнер с Дженой, но я получаю UnknownHostException
Мой код:
String sparqlHostDockerExecCmd = "docker run --name sparqlhost -p 3030:3030 -e ADMIN_PASSWORD=pw123 -e JVM_ARGS=-Xmx2g -d stain/jena-fuseki";
Process p = Runtime.getRuntime().exec(sparqlHostDockerExecCmd);
BufferedReader stdInput = new BufferedReader(new
InputStreamReader(p.getInputStream()));
String sparqlDatasetURI = "http://sparqlhost:3030/UnitTestSet/update";
testSink = new SparqlBasedSink(updateDatasetURI, queryDatasetURI);
int retryCount = 0;
while (true) {
try {
testSink.sendSomeUpdateRequestToJena();
break;
} catch (Exception error) {
System.out.println("Could not connect, retrying");
retryCount++;
if (retryCount > 10) break;
Thread.sleep(5000);
}
}
Я получил UnknownHostException
в строке
UpdateRequest request = UpdateFactory.create(sampleQuery);
UpdateProcessor proc = UpdateExecutionFactory.createRemote(request, updateDatasetURI);
proc.execute();
sampleQuery
правильно, и я получил ошибку в строке 3.
Сообщение об ошибке:
org.apache.jena.atlas.web.HttpException: java.net.UnknownHostException: sparqlhost
at org.apache.jena.riot.web.HttpOp.exec(HttpOp.java:1202)
at org.apache.jena.riot.web.HttpOp.execHttpPost(HttpOp.java:803)
at org.apache.jena.riot.web.HttpOp.execHttpPost(HttpOp.java:578)
at org.apache.jena.riot.web.HttpOp.execHttpPost(HttpOp.java:534)
at org.apache.jena.sparql.modify.UpdateProcessRemote.execute(UpdateProcessRemote.java:79)
at org.aksw.simba.squirrel.sink.impl.sparql.SparqlBasedSink.sendAllTriplesToDB(SparqlBasedSink.java:83)
at org.aksw.simba.squirrel.sink.impl.sparql.SparqlBasedSink.closeSinkForUri(SparqlBasedSink.java:70)
at org.aksw.simba.squirrel.sink.impl.sparql.SparqlBasedSinkTest.openOpen(SparqlBasedSinkTest.java:94)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)