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