Virtuoso Dataset работает на одном сервисе, а не на другом - PullRequest
1 голос
/ 12 марта 2019

У меня есть Java-приложение с мыльными услугами.Я использую Virtuoso и сталкиваюсь с какой-то странной проблемой.

Проблема в том, что VirtDataset работает с одним сервисом, а с другим - нет.Это странно, потому что я использую одну и ту же функцию для двух сервисов.Если я выполняю работающий сервис, то другой сервис работает иначе.

Я заметил, что если я добавлю это

Model model3 = ModelFactory.createDefaultModel();

до подключения к VirtDataset, он будет работать.

protected void loadFile(String fileName, String database) throws IOException {
    Path path = Paths.get(fileName);
    BufferedReader reader = Files.newBufferedReader(path);
    VirtDataset virtuosoDataset = new VirtDataset(virtuosoLocation, virtuosoUser, virtuosoPass);

    virtuosoDataset.begin(ReadWrite.WRITE);

    VirtModel model = (VirtModel) virtuosoDataset.getDefaultModel();
    System.out.println(virtuosoDataset.getGraphName());
    model.setBatchSize(10000);
    model.read(reader, ConfigurationFile.getProperty(JENAXMLBASE));
    virtuosoDataset.commit();

    if (LOGGER.isInfoEnabled()) {
        LOGGER.info(new LogMessage("Loading file to database finished. Loaded " + model.size() + " triples.",
                "importModel", "").toString());
    }
    TDBFactory.release(virtuosoDataset);
}

Ошибка:

 qtp56510351-30] WARN org.apache.cxf.phase.PhaseInterceptorChain - Application {http://services.ls.example.si/}ServicesImplService#{http://services.ls.example.si/}importModel has thrown exception, unwinding now
org.apache.cxf.interceptor.Fault
    at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:162)
    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.createFault(AbstractJAXWSMethodInvoker.java:267)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:128)
    at org.apache.cxf.jaxws.AbstractJAXWSMethodInvoker.invoke(AbstractJAXWSMethodInvoker.java:232)
    at org.apache.cxf.jaxws.JAXWSMethodInvoker.invoke(JAXWSMethodInvoker.java:85)
    at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:74)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126)
    at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)
    at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131)
    at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308)
    at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
    at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:262)
    at org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:234)
    at org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:76)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1065)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:748)

Версии:

Java 1.8

virt_jena3.jar

virtjdbc4.jar

сервер виртуоза 3.7.2 и 3.8.2

Джена 3.6.0

...