2017-01-27 3 views
0

ich habe Sling 8. Ich schließe dann Jersey und dieses Jersey-Anschluss in meinem Build: https://github.com/hstaudacher/osgi-jax-rs-connectorWie Jersey in Sling verwenden?

Mein nächster Schritt sollte einfach ein Jersey-Service es schreiben und testen, aber ich bin immer diese Ausnahme sofort :

27.01.2017 10:54:16.696 *ERROR* [FelixDispatchQueue] com.eclipsesource.jaxrs.publisher FrameworkEvent ERROR (org.osgi.framework.ServiceException: Service factory returned null.)org.osgi.framework.ServiceException: Service factory returned null. 

und

[FelixDispatchQueue] com.eclipsesource.jaxrs.publisher FrameworkEvent ERROR (org.osgi.framework.ServiceException: Service factory exception: org/apache/felix/shell/Command) 
org.osgi.framework.ServiceException: Service factory exception: org/apache/felix/shell/Command 

und

Caused by: java.lang.NoClassDefFoundError: org/apache/felix/shell/Command 

Also schaue ich meine Bundles-Liste in Felix, und ich sehe kein Bündel, das scheint dies zu bieten ... So finde ich es online und installiere es selbst. Jetzt bekomme ich diese Ausnahme:

Service factory exception: org/apache/sling/extensions/threaddump/internal/ThreadDumpCommand 

und

Caused by: java.lang.NoClassDefFoundError: org/apache/sling/extensions/threaddump/internal/ThreadDumpCommand 

und

Caused by: java.lang.NoClassDefFoundError: org/apache/felix/webconsole/plugins/memoryusage/internal/MemoryUsageCommand 

Nun mache ich mit dieser Klasse ein Bündel installiert haben (es ist „Apache Felix Webkonsole Speicher Nutzungs-Plugin "). Jetzt verstehe ich wirklich nicht, was zum Teufel los ist.

Ich habe das Gefühl, dass ich nicht mein eigenes „felix Schal“ Bündel und dass der OSGi in Sling soll werden, vorausgesetzt, versagt es zu schaffen ...

Ist jemand erfolgreich Sling mit 8 und Jersey ?

Antwort

0

Vielleicht sollten Sie mit nur einer Vanille OSGi Umgebung für Anfänger versuchen. Sobald Sie Jersey arbeiten, können Sie versuchen, mit Sling zu integrieren.

Ich hatte Erfolg mit Jaxrs in OSGi, speziell mit den Amdatu REST-Bundles.

https://amdatu.org/application/tutorial/step1/

Damit konnte ich JAX-RS Anmerkungen verwenden HTTP-Dienste zu dienen:

https://github.com/figurate/figurate-core/blob/master/modules/figurate-osgi/src/main/groovy/org/figurate/osgi/http/ServiceInfo.groovy

Sie können die Bündel sehe ich hier verwendet:

https://github.com/figurate/figurate-core/blob/master/modules/figurate-osgi/src/test/resources/config/HttpVersionSpec.config

Verwandte Themen