Wiederverwendbare Codes
Zum Testen kann es hilfreich sein, sich mit einem AEM Repository remote zu verbinden. Hierzu kann die WebDAV Schnittstelle von AEM verwendet werden.
Der Login gegen das Repository erfolgt auf JCR Ebene (d.h. die Sling API kann z.B. nicht verwendet werden).
Folgende OSGI Bundles werden benötigt, um sich remote zu einem AEM Repository zu verbinden (hier z.B. AEM 6.2)
<dependencies>
<dependency>
<groupId>javax.jcr</groupId>
<artifactId>jcr</artifactId>
<version>2.0</version>
</dependency>
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-jcr2dav</artifactId>
<version>2.4.0</version>
</dependency>
</dependencies>
Über den Repository Service ist eine Anmeldung mit Servername, User und Passwort möglich. Bitte unbedingt beachten, dass Sessions auch wieder geschlossen werden.
private final static String SOURCE_SERVER = "http://myserver:4502";
private final static String SOURCE_USERNAME = "admin";
private final static String SOURCE_PASSWORD = "mypassword";
Repository repository = JcrUtils.getRepository( serverAddress + "/crx/server" );
SimpleCredentials credentials = new SimpleCredentials( username, password.toCharArray() );
Session session = null;
try {
repository.login( credentials );
LOG.info( "JCR version: " + repository.getDescriptor(Repository.SPEC_VERSION_DESC) );
LOG.info( "Repository version: " + repository.getDescriptor(Repository.REP_VERSION_DESC) );
LOG.info( "Repository name: " + repository.getDescriptor(Repository.REP_NAME_DESC) );
LOG.info( "Transaction Support: " + repository.getDescriptor(Repository.OPTION_TRANSACTIONS_SUPPORTED) );
// do anything
}
finally{
session.logout();
}