In AEM, is ExternalAlizer de dienst OSGI die u toestaat om een middelweg programmatically om te zetten (b.v. /path/to/my/page
) in een externe en absolute URL (bijvoorbeeld https://www.mycompany.com/path/to/my/page
) door de weg met vooraf gevormde DNS te bevestigen.
Omdat een instantie zijn uiterlijk zichtbare URL niet kan kennen als het achter een Weblaag loopt, en omdat soms een verbinding buiten het verzoekwerkingsgebied moet worden gecreeerd, verstrekt deze dienst een centrale plaats om die externe URLs te vormen en hen te bouwen.
Deze pagina verklaart hoe te om de Externalzer dienst te vormen en hoe te om het te gebruiken. Raadpleeg Javadocs voor meer informatie.
Met de service ExternalAlizer kunt u meerdere domeinen centraal definiëren die kunnen worden gebruikt om programmatisch een voorvoegsel voor bronnenpaden toe te voegen. Elk domein wordt geïdentificeerd door een unieke naam die wordt gebruikt om programmatically naar het domein te verwijzen.
Een domeinafbeelding definiëren voor de service Externalalizer:
Navigeer naar de configuratiemanager via Tools, dan Webconsole, of ga https://<host>:<port>/system/console/configMgr.
in
Klik De Verbinding van CQ van de Dag uiterlijk om de doos van de configuratiedialoog te openen.
De directe verbinding aan de configuratie is https://<host>:<port>/system/console/configMgr/com.day.cq.commons.impl.ExternalizerImpl
Een domeintoewijzing definiëren: een toewijzing bestaat uit een unieke naam die in de code kan worden gebruikt om naar het domein, een ruimte en het domein te verwijzen:
<unique-name> [scheme://]server[:port][/contextpath]
, waarbij:
Bijvoorbeeld: production https://my.production.instance
De volgende toewijzingsnamen zijn vooraf gedefinieerd en moeten altijd worden ingesteld op basis van AEM:
Met een aangepaste configuratie kunt u een nieuwe categorie toevoegen, zoals "productie", "staging" of zelfs externe niet-AEM systemen, zoals "mijn-interne webservice". Dit is handig om hardcodering van dergelijke URL's op verschillende plaatsen in de codebase van een project te voorkomen.
Klik Opslaan om uw wijzigingen op te slaan.
Adobe raadt aan dat u de configuratie toevoegt aan de gegevensopslagruimte.
Deze sectie toont een paar voorbeelden van hoe de Externalzer dienst kan worden gebruikt.
Om de dienst Externalzer in JSP te krijgen:
Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);
Een pad extern maken met het domein 'publish':
String myExternalizedUrl = externalizer.publishLink(resolver, "/my/page") + ".html";
Ervan uitgaande dat de domeintoewijzing " publish https://www.website.com
", mijnExternalUrl eindigt met de waarde " https://www.website.com/contextpath/my/page.html
".
Een pad extern maken met het domein 'auteur':
String myExternalizedUrl = externalizer.authorLink(resolver, "/my/page") + ".html";
Ervan uitgaande dat de domeintoewijzing " author https://author.website.com
", mijnExternalUrl eindigt met de waarde " https://author.website.com/contextpath/my/page.html
".
Een pad extern maken met het 'lokale' domein:
String myExternalizedUrl = externalizer.externalLink(resolver, Externalizer.LOCAL, "/my/page") + ".html";
Ervan uitgaande dat de domeintoewijzing " local https://publish-3.internal
", mijnExternalUrl eindigt met de waarde " https://publish-3.internal/contextpath/my/page.html
".
U kunt meer voorbeelden in Javadocs vinden.