lodestar
lodestar copied to clipboard
jenaVirtuosoExecutorService.endpointURL in default ebi-lode-service.xml is wrong
Hi all,
I came to using LODEStar again after some years, and I've had problems with this Spring block in ebi-lode-service.xml
:
<!--For direct virtuoso JDBC connection, use this service-->
<bean id="jenaVirtuosoExecutorService" class="uk.ac.ebi.fgpt.lode.impl.JenaVirtuosoExecutorService">
<property name="endpointURL" value="jdbc:virtuoso://${lode.sparqlendpoint.url}:${lode.sparqlendpoint.port}" />
</bean>
To me the value above is wrong, or at least it is incompatible with the default assignment lode.sparqlendpoint.url=jdbc:virtuoso://localhost:1111
, provided by the default lode.properties
.
Obviously, the problem is that the two combined yield jdbc:virtuoso://jdbc:virtuoso...
, and the worst part is that later, the error message you get is: virtuoso.jdbc4.VirtuosoException: Wrong port number : For input string: ""
, ie, the Virtuoso driver expects a given format and got the wrong port number from the wrong URL format, but I took a while before realising it from the confusing message.
To me, the solution should be to set value="${lode.sparqlendpoint.url}"
in the Spring XML (as I did in my fork).
Moreover, I'm not sure that definitions without =
are valid in lode.properties
(there are a few that are commented).
Thanks Marco. We'll update this when we can.