Подключение к AEM 6.0 JCR: предварительное условие не выполнено
У меня возникли некоторые проблемы с подключением к хранилищу JCR в AEM 6.0. Когда я доберусь до точки создания session
в репозитории я получаю javax.jcr.lock.LockException: Precondition Failed
,
Я использовал этот учебник, чтобы начать.
Вот мой очень простой пример кода:
import java.io.FileNotFoundException;
import java.io.FileReader;
import javax.jcr.Repository;
import javax.jcr.Session;
import javax.jcr.SimpleCredentials;
import org.apache.jackrabbit.commons.JcrUtils;
import com.opencsv.CSVReader;
public class Main {
public static void main(String[] args) throws FileNotFoundException {
Repository repository;
FileReader fileReader;
CSVReader csvReader;
try {
System.out.println("connecting to repository");
repository = JcrUtils.getRepository("http://localhost:4502/crx/server");
Session session = repository.login( new SimpleCredentials("admin", "admin".toCharArray())); // throws javax.jcr.lock.LockException: Precondition Failed
}
catch(Exception e) {
System.out.println(e);
}
}
}
Любое руководство будет с благодарностью.
2 ответа
Внутри репозитория JCR контент организован в одно или несколько рабочих пространств, каждое из которых содержит иерархическую структуру узлов и свойств. Таким образом, чтобы создать сеанс jcr и узел доступа и свойства, вам нужно передать рабочую область с учетными данными, рабочая область AEM по умолчанию - crx.default
Вместо:
Session session = repository.login( new SimpleCredentials("admin", "admin".toCharArray()));
Используйте:
Session session = repository.login( new SimpleCredentials("admin", "admin".toCharArray()),"crx.default");
Пожалуйста, проверьте ссылку ниже
javax.jcr.lock.LockException: предварительное условие не выполнено
Очевидное первое: работает ли сервер AEM?
Во-вторых: Возможно, ваша среда сборки настроена неправильно, я смог настроить рабочий проект, используя ваш код и этот файл maven:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.stackru.test</groupId>
<artifactId>access_crx_from_outside</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr-commons</artifactId>
<version>2.7.4</version>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr2dav</artifactId>
<version>2.6.0</version>
</dependency>
</dependencies>