2016-11-03 5 views
1

Ich möchte wissen, ob ich Klassen verwenden kann, die mit @RequestScoped anstelle von @Stateless annotiert sind, um meine Geschäftslogik zu schreiben.Kann ich Geschäftslogik in @RequestScoped-Beans anstelle eines zustandslosen EJB schreiben?

Ich habe einige EJBs, die einige Geschäftslogik und keinen Datenbankcode haben. Der einzige Grund, warum ich es als EJB deklariert habe, ist, interceptors zu nutzen. Da es keine Notwendigkeit für Transaktionsmanagement gibt, denke ich, dass es sinnvoller ist, es als @RequestScoped zu deklarieren.

Kann jemand bitte vorschlagen.

+1

Ich nehme an, dass Sie einen REST-Dienst entwerfen. Ich weiß nicht, welche Geschäftslogik Sie in Ihrem Interceptor haben wollen, aber Sie können wahrscheinlich das gleiche Ergebnis mit Standard-JEE-Filtern erreichen, die an einen Rest-Service gebunden sind. Eine andere Alternative zur Bearbeitung von Requests/Response ist die Verwendung eines MessageBodyReaders und eines MessageBodyWriter, wenn REST richtig ist. – Leonardo

Antwort

0

Verwenden @Named und @RequestScoped wenn u Ihre Geschäftslogik programmieren möchten, hängt von der HTTP-Anforderung (ein Objekt, das als @RequestScoped definiert wird erstellt wird einmal für jede Anforderung und wird von allen Bohnen geteilt, dass es über einen Antrag injizieren) . Aber im Fall von UserTransaction, Datasource, Thread Sicherheit und Inceptor wird ein Problem bleiben dann mit @stateless.

Verwandte Themen