Thanks Hugh, my problem has been fixed, it had less to do with virtjdbc than with jena.jar.

The difference between the working app (in the IDE) and the one deployed to web app container was the dependency resolution.

The former used the libraries you provide in [1] inside jenajars.zip, wich is as stated in [2] jena version 2.5.5.

The later had the dependencies managed by Maven, so I tried to let it manage as much dependencies as possible, so the referenced version of Jena was 2.6.3 along with arq 2.8.5 (latest it could find).

I did wrong with this, the problem got fixed instructing Maven to look specificaly for Jena-2.5.5.jar (no arq needed, I think they forked that at some point and Jena 2.5.5 already has everything it needs).

BTW, the example in [3] fails using jena 2.6.3 and arq 2.8.5 too, so it would be nice if you state explicitly that the version of Jena to be used is 2.5.5, because in [2] is it stated "2.5.5 and above". It would be nice too to explicitly list all other versions of libraries used through those pages to make it less confusing to people using Maven.

Below is the exception in the example:

Exception in thread "main" java.lang.IllegalAccessError: tried to access method com.hp.hpl.jena.sparql.engine.iterator.QueryIterSingleton.<init>(Lcom/hp/hpl/jena/sparql/engine/binding/Binding;Lcom/hp/hpl/jena/sparql/engine/ExecutionContext;)V from class virtuoso.jena.driver.VirtuosoQueryExecution
        at virtuoso.jena.driver.VirtuosoQueryExecution.AddToRes(Unknown Source)
at virtuoso.jena.driver.VirtuosoQueryExecution.ViruosoResultBindingsToJenaResults(Unknown Source)
        at virtuoso.jena.driver.VirtuosoQueryExecution.execSelect(Unknown 
Source)
        at VirtuosoSPARQLExample1.main(VirtuosoSPARQLExample1.java:32)

Anyway, I'm happy this got fixed, it got me 2 days of headaches and no clue what was happening at all...

Regards,

Alex


[1] http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VOSDownload
[2] http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtJenaProvider
[3] http://docs.openlinksw.com/virtuoso/rdfnativestorageproviders.html#rdfnativestorageprovidersjenaexamples1

Hugh Williams, 14-10-2010 17:25:
Hi Alex,

It would appear a connection is being made to the server, but it is unclear to 
me as to which application your query(s) work and where they fail ? Are you 
saying they work in the development environment (IDE??) but fail when deployed 
as a webapp when using  maven-embedded Jetty6 and Tomcat6?

Do you have example query(s) that are failing ?

Are any errors being reported in the virtuoso.log file

Please turn on server tracing as detailed at [1] to see if any additional 
errors are written to the log, and also enable CallStackOnException [2] flag in 
the configuration file (virtuoso.ini) which may return additional client side 
errors

Best Regards
Hugh Williams
Professional Services
OpenLink Software
Web: http://www.openlinksw.com
Support: http://support.openlinksw.com
Forums: http://boards.openlinksw.com/support
Twitter: http://twitter.com/OpenLink

[1] http://docs.openlinksw.com/virtuoso/fn_trace_on.html
[2] http://docs.openlinksw.com/virtuoso/dbadm.html#ex_traceoniniopt

On 14 Oct 2010, at 13:21, Alex Rodriguez Lopez wrote:

Hi all!

I'm having quite some trouble with this.

I installed a local dbpedia running in a Virtuoso instance VOS
06.01.3127, so far so good!

After doing some tests in a java app using Jena provider like explained
in http://docs.openlinksw.com/virtuoso/rdfnativestorageproviders.html ,
I moved it into a webapp.

Now I didn't choose Jena for any particular reason, I just saw an
example somewhere and the code worked just fine to execute some SPARQL
and parse the results, all nicely and fast.

But... when trying the same code over the deployed web app it will
always fail trying to execute

ResultSet results = vqe.execSelect();

So, if the same thing worked before I figure out it must be something
related to the JDBC driver. I tried with both maven-embedded Jetty6 and
Tomcat6. I assumed virtjdbc3.jar would have to be into the "commons" lib
folder of the webapp container to be used at runtime, is that right? But
no luck with this approach, don't know if the webapp container didn't
really see the jar or it happens for another reason.

How should I configure this?

Any explanations greatly appreciated!

Alex.

Stacktrace follows:

Struts Problem Report
Struts has detected an unhandled exception:

Messages:       
tried to access method
com.hp.hpl.jena.sparql.engine.iterator.QueryIterSingleton.(Lcom/hp/hpl/jena/sparql/engine/binding/Binding;Lcom/hp/hpl/jena/sparql/engine/ExecutionContext;)V
from class virtuoso.jena.driver.VirtuosoQueryExecution
Stacktraces
java.lang.reflect.InvocationTargetException
     sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     java.lang.reflect.Method.invoke(Method.java:616)

com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)

com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)

com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)

org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)

org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)

org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)

org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)

org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
     org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)

org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
     org.mortbay.jetty.Server.handle(Server.java:326)
     org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)

org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:915)
     org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
     org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
     org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)

org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)

org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

java.lang.IllegalAccessError: tried to access method
com.hp.hpl.jena.sparql.engine.iterator.QueryIterSingleton.(Lcom/hp/hpl/jena/sparql/engine/binding/Binding;Lcom/hp/hpl/jena/sparql/engine/ExecutionContext;)V
from class virtuoso.jena.driver.VirtuosoQueryExecution
     virtuoso.jena.driver.VirtuosoQueryExecution.AddToRes(Unknown Source)

virtuoso.jena.driver.VirtuosoQueryExecution.ViruosoResultBindingsToJenaResults(Unknown
Source)
     virtuoso.jena.driver.VirtuosoQueryExecution.execSelect(Unknown Source)

pt.flordeutopia.educa.sema.AnalyzerFdu.analyzeSema(AnalyzerFdu.java:536)
     pt.flordeutopia.educa.sema.AnalyzerFdu.proto0Sema(AnalyzerFdu.java:72)
     sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)

sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     java.lang.reflect.Method.invoke(Method.java:616)

com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452)

com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254)

com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263)

org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:267)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:142)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:166)

com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187)

com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248)

org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52)

org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:485)

org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:91)

org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)

org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)

org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)

org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
     org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)

org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)

org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
     org.mortbay.jetty.Server.handle(Server.java:326)
     org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:536)

org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:915)
     org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:539)
     org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
     org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:405)

org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)

org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)


Dependencies:

arq-2.8.5.jar
axis-1.4.jar
axis-jaxrpc-1.4.jar
axis-saaj-1.4.jar
axis-wsdl4j-1.5.1.jar
commons-collections-3.2.1.jar
commons-discovery-0.2.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.1.1.jar
freemarker-2.3.16.jar
icu4j-3.4.4.jar
iri-0.8.jar
iri-0.8-sources.jar
javassist-3.8.0.GA.jar
jena-2.6.3.jar
jena-2.6.3-sources.jar
jena-2.6.3-test-sources.jar
libmorfo_java-1.jar
log4j-1.2.13.jar
lucene-core-2.3.1.jar
ognl-3.0.jar
rssutils-1.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
stax-api-1.0.1.jar
struts2-config-browser-plugin-2.2.1.jar
struts2-core-2.2.1.jar
virtjdbc3-1.jar
virt_jena-1.jar
wstx-asl-3.2.9.jar
xercesImpl-2.9.1.jar
xml-apis-1.3.04.jar
xwork-core-2.2.1.jar

------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2&  L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today.
http://p.sf.net/sfu/beautyoftheweb
_______________________________________________
Virtuoso-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/virtuoso-users


Reply via email to