Virtuoso数据集仅在一项服务上起作用,而不在另一项服务上起作用

时间:2019-03-12 09:57:24

标签: java soap cxf virtuoso

我有带有肥皂服务的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

virtuoso服务器3.7.2和3.8.2

耶拿3.6.0

0 个答案:

没有答案