JAX-RS 2.0-Integration mit MBeans

Java™ API for RESTful Web Services (JAX-RS) 2.0 in WebSphere Application Server Traditional unterstützt die Verwendung von MBeans als Stammressourcenklassen, Provider und Anwendungsunterklassen.

  • Wenn Sie eine MBean als JAX-RS-Ressource, -Provider oder -Anwendung verwenden möchten, verwenden Sie @ManagedBean, um diese Klassen mit Annotationen zu versehen.
    Verwenden Sie beispielsweise das Interceptor-MBean-Feature wie folgt:
    @ManagedBean ("JaxrsManagedBean" )
    @Path ("/managedbean" )
    public class ManagedBeanResource {
    
        public static class MyInterceptor {
            @AroundInvoke
            public Object around(InvocationContext ctx) throws Exception {
                System. out .println("around() called" );
                return ctx.proceed();
            }
        }
    
        @GET
        @Produces( "text/plain")
        @Interceptors(MyInterceptor. class )
        public String getIt() {
            return "Hi managed bean!" ;
        }
    }

Einschränkungen in JAX-RS 2.0 mit MBeans

Die Ressourceninjektion wird nur von den folgenden JAX-RS-Komponentenklassen unterstützt, die von CDI (Contexts and Dependency Injection) verwaltet werden:
  • Anwendungsunterklassen
  • Provider
  • Stammressourcenklassen

Um eine MBean-Instanz in eine bestimmte JAX-RS-Komponentenklasse zu injizieren, müssen Sie sicherstellen, dass diese Komponentenklasse als CDI-Bean erkannt und verwaltet werden kann.

Wenn Sie beispielsweise die MBean-Instanz printMyName wie folgt in eine JAX-RS-Stammressourcenklasse injizieren möchten, müssen Sie eine leere Datei des Typs beans.xml im Repository .WAR file/WEB-INF hinzufügen:
@Path ("/managedbean" )
public class ManagedBeanResource {

    @Resource(name = "printMyName" )
    private PrintMyName printMyName ;

    @GET
    @Produces( "text/plain")
    public String getIt() {
        printMyName .print();
        return "Hi managed bean!" ;
    }
}


@ManagedBean ("printmyname" )
public class PrintMyName {

    public void print() {
        // TODO Automatisch generierter Methodenstub
        System. out .println("Injection of ManagedBean is successful" );
    }

}

Symbol, das den Typ des Artikels anzeigt. Referenzartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rwbs_jaxrs2
Dateiname:rwbs_jaxrs2.0_managedbeans.html