Wie zum erstellen von Restful-service und Bereitstellung von OSGi-container?
Mein Ziel ist die Erstellung eines Restful service-Maven-Projekt mit Eclipse. Dann packen Sie es als bundle und installieren Sie es auf Fuse ESB karaf OSGi container. So weit was ich weiß ist, wie die JAX-RS-API Annotationen @Path @GET:
package com.restfultest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
@Path("/example")
public class ExampleService {
@GET
public String sayHello() {
return "Hello Restful service";
}
}
Meiner Frage ist, dass:
1. was maven-Archetyp sollte ich verwenden? maven-archetype-webapp oder Schnellstart?
2.Wie die Umsetzung Aktivator? Wie das?
public class Activator implements BundleActivator {
private ServiceRegistration<?> registration;
public void start(BundleContext context) throws Exception {
//TODO Auto-generated method stub
ExampleService exampleService = new ExampleService();
registration = context.registerService( ExampleService.class.getName(), exampleService, null );
}
public void stop(BundleContext context) throws Exception {
//TODO Auto-generated method stub
registration.unregister();
}
}
3. Wie sich zu registrieren und den Dienst veröffentlichen (wie so konfigurieren Sie die Endpoint-Adresse und port)?
Ich bin neu auf osgi. Wer kann mir einige Ressourcen oder eine ausführliche Anleitung?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier meine 5 cent:
1. Was Maven-Archetyp sollten Sie verwenden?
2. Wie die Umsetzung Aktivator?
3. Wie sich zu registrieren und den Dienst veröffentlichen?
Und dann, in meinem speziellen Fall, habe ich die Maven-Bundle-Plugin zu handhaben, die Einfuhren auf die Laufzeit und die Verpackung, also, mein pom.xml sieht ungefähr so aus (Bitte beachten Sie die Abhängigkeiten):
In meinem konkreten Fall habe ich auch die WebConsole installiert, dann meine Bündel wie folgt Aussehen:
Für den Rest ist es wichtig, die Bündel 6, 10 und 11.
Und der port ist konfigurierbar in der config.Eigenschaften" des OSGI (habe ich Felix) nur durch dies zu tun:
Dann zu erreichen, der service, verwenden Sie einfach den folgenden Pfad:
Benötigen Sie zum erstellen eines OSGI-bundle. Es gibt ein paar Archetypen, die das erstellen von maven-Projekten:
Ihre activator korrekt aussieht.
Diese Frage kann ich nicht beantworten, aber es sieht aus wie dieses Projekt funktioniert, was Sie brauchen: https://github.com/hstaudacher/osgi-jax-rs-connector
Im Allgemeinen empfehle ich Euch, die OSGI-Spezifikation, es ist gut zu Lesen und erklärt, eine Menge Dinge.