Java ApacheTomcat中的奇怪错误?
我正在使用ApacheTomcat和EclipseKeplee。这是我的jsp文件,它运行一个java文件,该文件使用sparql从tdb查询。jsp文件:Java ApacheTomcat中的奇怪错误?,java,jsp,tomcat,sparql,tdb,Java,Jsp,Tomcat,Sparql,Tdb,我正在使用ApacheTomcat和EclipseKeplee。这是我的jsp文件,它运行一个java文件,该文件使用sparql从tdb查询。jsp文件: <%@ page import="check.test4query" %> <% test4query demo = new test4query(); test4query dem = new test4query(); String[] id =
<%@ page import="check.test4query" %>
<% test4query demo = new test4query();
test4query dem = new test4query();
String[] id =new String[20];
String[] dat =new String[20];
int i;
demo.mai("SELECT ?x WHERE { ?y <TO:> 'hjcooljohny75@gmail.com' . ?y <SUB:> ?x} LIMIT 20 ");
for(i=0;i<20;i++)
{ id[i]=test4query.arr[i];
id[i] = id[i].substring(0, Math.min(id[i].length(), 30));
}
for(i=0;i<20;i++)
{ //id[i]=test4query.arr[i];
out.println("<tr>"+"    "+id[i]+"<hr style='border-color:#E6E6E6;padding:0px;margin:0px'>"+"</tr>");
}
%>
这种情况经常发生,但当我重新启动服务器时,它第一次显示正确的ans,然后显示错误。我不知道问题出在哪里,如何更正它 问题是您正在泄漏资源,并且没有自己清理 您使用
ds.begin(ReadWrite.READ)
调用启动事务,但从未使用ds.end()
调用关闭事务,这就是后续调用失败并出现错误的原因。您也无法关闭查询执行
您应该使用
try{}catch{}finally{}
来确保清理相关资源问题是您正在泄漏资源,而不是自己清理
您使用ds.begin(ReadWrite.READ)
调用启动事务,但从未使用ds.end()
调用关闭事务,这就是后续调用失败并出现错误的原因。您也无法关闭查询执行
您应该使用
try{}catch{}finally{}
来确保清理相关资源这是错误的方法:
Model model = ds.getDefaultModel() ;
ds.begin(ReadWrite.READ) ;
请尝试:
ds.begin(ReadWrite.READ) ;
Model model = ds.getDefaultModel() ;
这是错误的方法:
Model model = ds.getDefaultModel() ;
ds.begin(ReadWrite.READ) ;
请尝试:
ds.begin(ReadWrite.READ) ;
Model model = ds.getDefaultModel() ;
我已经更改了代码,但错误仍然存在。怎么办?当我从命令行运行相同的代码时,没有错误。你能显示你的新代码和错误吗(假设有点不同)还有?我已经更改了代码,但错误仍然存在。怎么办?当我从命令行运行相同的代码时,没有错误。您能显示新代码和错误吗(假设有点不同)还有?非常感谢andy…我从没想到这会是这个问题的原因…我浪费了几个小时来解决这个问题,而你的解决方案让我很开心…:)我还面临另一个问题…当我尝试编写时…您的解决方案不会给出错误,但不会将任何内容写入我的数据库,但当我首先创建模型,然后写入ds.begin(ReadWrite.write)时;然后它工作正常,但在tomcat中出现错误..我应该怎么做?这是我问的问题的链接。。。非常感谢andy…我从没想到这会是这个问题的原因…我浪费了几个小时来解决这个问题,而你的解决方案让我很开心…:)我还面临另一个问题…当我尝试编写时…您的解决方案不会给出错误,但不会将任何内容写入我的数据库,但当我首先创建模型,然后写入ds.begin(ReadWrite.write)时;然后它工作正常,但在tomcat中出现错误..我应该怎么做?这是我问的问题的链接。。。