Wie aus EJB 3.1 als REST-Web-Dienst?

Entdeckte ich eine neue Funktion in java restful bei der Verwendung von EJB 3.1 beim Lesen eines Artikels auf Adam Bien ist blog.

Die Sache ist, dass Stateless und Singleton-beans können ausgesetzt werden als root-Ressourcen. Aber wie?
Ich habe versucht, es zu tun auf diese Weise:

@Stateless
@LocalBean
@Path("Hybrid")
public class RESTEJBSample {

    @GET
    @Path("/demo")
    @Produces(MediaType.TEXT_PLAIN)
    public String something() {
        return "I am a Hybrid!!!";
    }

}

Wenn ich die URL aufrufen http://localhost:8080/HybridSample/resources/Hybrid/demo bekomme ich einen 404-Fehler.

Appart dieses und nur um sicherzugehen, dass JAXRS ist, ist die Arbeit in meinem Projekt, habe ich eine einfache pojo Ressource, nur um zu testen, ob es funktioniert.

@Path("/genericresource")
public class GenericResource {
    @GET
    @Path("/samplemethod")
    @Produces(MediaType.TEXT_PLAIN)
    public String saySomething() {
        return "Something!";
    }
}

Hier, wenn ich die URL aufrufen http://localhost:8080/HybridSample/resources/genericresource/samplemethod funktioniert Es einwandfrei!

Also meine Fragen sind:

  • was fehlt in meinem EJB-so kann es funktionieren, wie eine web-service-Ressource, wie die Klasse GenericResource ist zu tun?

  • Gibt es einige zusätzliche Konfiguration benötigt?

  • Was sind die Einschränkungen bei der Verwendung von EJB als web service?

InformationsquelleAutor sfrj | 2012-03-27
Schreibe einen Kommentar