All Projects → nateyolles → aem-osgi-annotation-demo

nateyolles / aem-osgi-annotation-demo

Licence: Apache-2.0 License
Demonstrates OSGi Declarative Services Annotations along side Felix SCR Annotations.

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to aem-osgi-annotation-demo

aem-dispatcher-experiments
Experiments to demonstrate the impact of the Dispatcher and it's configuration parameters.
Stars: ✭ 41 (-2.38%)
Mutual labels:  aem, adobe-experience-manager
aem-clientlib-async
Create AEM clientlibs that can output 'async', 'defer' and 'onload' attributes on your HTML script elements.
Stars: ✭ 45 (+7.14%)
Mutual labels:  aem, adobe-experience-manager
Felix Search Webconsole Plugin
Search Web Console Plugin for Apache Felix
Stars: ✭ 79 (+88.1%)
Mutual labels:  osgi, aem
Aem Groovy Console
The AEM Groovy Console provides an interface for running Groovy scripts in the AEM container. Scripts can be created to manipulate content in the JCR, call OSGi services, or execute arbitrary code using the CQ, Sling, or JCR APIs.
Stars: ✭ 144 (+242.86%)
Mutual labels:  osgi, aem
wcm-io-caconfig
Context-Aware Configuration for AEM applications.
Stars: ✭ 16 (-61.9%)
Mutual labels:  aem, adobe-experience-manager
aem-docker-getting-started
Getting started guide for development with Adobe Experience Manager and Docker.
Stars: ✭ 38 (-9.52%)
Mutual labels:  aem, adobe-experience-manager
Acs Aem Samples
AEM Code Samples repository
Stars: ✭ 170 (+304.76%)
Mutual labels:  osgi, aem
gradle-aem-multi
Example Multi-Module AEM application built by Gradle Build System
Stars: ✭ 31 (-26.19%)
Mutual labels:  aem, adobe-experience-manager
aem-akamai-replication-agent
How to create custom replication agents in AEM using Akamai as an example.
Stars: ✭ 33 (-21.43%)
Mutual labels:  aem, adobe-experience-manager
aem-touch-ui-validation
AEM Touch UI Validation Library
Stars: ✭ 40 (-4.76%)
Mutual labels:  aem, adobe-experience-manager
burp-aem-scanner
Burp Scanner extension to fingerprint and actively scan instances of the Adobe Experience Manager CMS. It checks the website for common misconfigurations and security holes.
Stars: ✭ 60 (+42.86%)
Mutual labels:  aem, adobe-experience-manager
aem-intellij-plugin
IntelliJ Platform plugin for AEM (Adobe Experience Manager).
Stars: ✭ 26 (-38.1%)
Mutual labels:  aem, adobe-experience-manager
wcm-io-wcm
Extensions for AEM authoring and AEM applications.
Stars: ✭ 17 (-59.52%)
Mutual labels:  aem, adobe-experience-manager
wcm-io-tooling
Tooling for Maven and IDEs.
Stars: ✭ 12 (-71.43%)
Mutual labels:  aem, adobe-experience-manager
aem-test-samples
Adobe Experience Manager Test Samples
Stars: ✭ 19 (-54.76%)
Mutual labels:  aem
aem-spa-component-mapping
Provides a way to map Single Page Application front-end components with Adobe Experience Manager resource types.
Stars: ✭ 20 (-52.38%)
Mutual labels:  aem
aspecio
Aspecio, AOP Proxies for OSGi services
Stars: ✭ 14 (-66.67%)
Mutual labels:  osgi
aem-aws-stack-builder
Adobe Experience Manager (AEM) infrastructure builder on AWS using CloudFormation stacks
Stars: ✭ 36 (-14.29%)
Mutual labels:  aem
aem-spa-project-archetype
Maven Archetype for creating new AEM SPA projects
Stars: ✭ 64 (+52.38%)
Mutual labels:  aem
aem-sass-compiler
Enable Sass support for AEM
Stars: ✭ 48 (+14.29%)
Mutual labels:  aem

AEM OSGi Declarative Services Annotations

This project demonstrates the basics of using the OSGi Declarative Services annotations along side the more familiar Felix SCR annotations.

Examples are given for both annotation styles in each of a servlet, service, filter, scheduler and an event handler / listener. These five examples are common AEM project requirements and the examples can be extrapolated out for anything else such as MBeans, Adapters, Workflow Process Steps, Replication Preprocessors, etc...

Note the service example creates the Configuration as a separate class while the other examples create the Configuration as a subclass.

View the associated blog post at http://www.nateyolles.com/blog/2017/05/osgi-declarative-services-annotations-in-aem.

How to build

This project has been built and tested in AEM 6.2.

To build all the modules run in the project root directory the following command with Maven 3:

mvn clean install

Or to deploy the bundle to the author, run

mvn clean install -PautoInstallBundle

Test

Below are a some cURL commands to help you test the components. Navigate to the Felix Configuration console to update component properties.

Servlets and Services

Make a GET request to the servlets which consume the services and respond back with plain text:

curl -u admin:admin http://localhost:4502/bin/felix
curl -u admin:admin http://localhost:4502/bin/osgi

Event Handler

Create a new node under /content and watch the logs:

curl -u admin:admin http://localhost:4502/content/foo -F"myproperty=bar"

Scheduler

View the logs to see the scheduler running every 60 seconds by default.

Filters

Make a request to a resouce under /content and watch the logs:

curl -u admin:admin http://localhost:4502/content/geometrixx/en/products/triangle.html

Maven settings

The project comes with the auto-public repository configured. To setup the repository in your Maven settings, refer to:

http://helpx.adobe.com/experience-manager/kb/SetUpTheAdobeMavenRepository.html
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].