Apache Jackrabbit과 협력하고 있습니다.Apache Jackrabbit : RepositoryException :이 세션이 닫혔습니다.
예외가 발견되었지만 많이 시도했지만 예외가없는 이유는 없습니다.
제발 도와주세요.
예외 : -
javax.jcr.RepositoryException: This session has been closed.
at org.apache.jackrabbit.jcr2spi.SessionImpl.checkIsAlive(SessionImpl.java:922)
at org.apache.jackrabbit.jcr2spi.ItemImpl.checkStatus(ItemImpl.java:436)
at org.apache.jackrabbit.jcr2spi.NodeImpl.getProperties(NodeImpl.java:489)
at edu.uci.ics.crawler4j.frontier.DocIDServer.getDocId(DocIDServer.java:112)
at edu.uci.ics.crawler4j.crawler.WebCrawler.processPage(WebCrawler.java:286)
at edu.uci.ics.crawler4j.crawler.WebCrawler.run(WebCrawler.java:189)
at java.lang.Thread.run(Thread.java:722)
편집 제 코드는 다음과 같다 1
,
Repository repository = JcrUtils.getRepository("http://localhost:4502/crx/server");
Session session = repository.login(new SimpleCredentials("admin", "admin".toCharArray()));
// Obtain the query manager for the session via the workspace ...
QueryManager queryManager = session.getWorkspace().getQueryManager();
// Create a query object ...
String expression = "SELECT * FROM [sling:OrderedFolder] AS s WHERE ISDESCENDANTNODE([/docIDsDB])";
Query query = queryManager.createQuery(expression, javax.jcr.query.Query.JCR_SQL2);
// Execute the query and get the results ...
QueryResult result = query.execute();
// Iterate over the nodes in the results ...
NodeIterator nodeIter = result.getNodes();
session.logout();
while(nodeIter.hasNext()){
Node node = nodeIter.nextNode();
System.out.println(node.getProperty("url").getString());
System.out.println(node.getProperty("docid").getString());
}
예외
javax.jcr.RepositoryException: This session has been closed.
at org.apache.jackrabbit.jcr2spi.SessionImpl.checkIsAlive(SessionImpl.java:922)
at org.apache.jackrabbit.jcr2spi.ItemImpl.checkStatus(ItemImpl.java:436)
at org.apache.jackrabbit.jcr2spi.NodeImpl.getProperty(NodeImpl.java:471)
at jackrabbit.JackRabbit.main(JackRabbit.java:111)
라인 (111)은 잭 래빗, 노드에서
System.out.println(node.getProperty("url").getString());
이며, 아이들은 슬링의 모두 : orderedFolder 유형입니다.
stacktrace를 사용하면 SessionImpl.java:922가 세션 상태가 닫힌 지점임을 분명하게 나타낼 수 있습니다 ...이를 바로 잡으면 좋겠어요. – AurA
문제의 원인을 알려주기 위해 짧은 내용, 자체 포함, 올바른 예 (http://sscce.org/)를 보내주십시오. 여기서 결과 만 보여줍니다. 둘 다 우리는 그 원인을 상상할 수 있습니다. – Aubin
@Aura 네, 세션이 끝났음을 분명히 보여줍니다. 나는이 세션이 왜 닫히는지 이해하지 못했다. – devsda