Ich habe kürzlich gelernt, dass ich einfach eine beliebige Session-Bean-Methode asynchron machen kann Hinzufügen der @Asynchronous
Annotation.
z.
%Vor% Ich weiß, dass Java EE 7 Concurrency Utilities hinzugefügt hat, aber In Java EE 6, wo ist die Thread-Pool-Konfiguration der @Asyncronous
-Methoden? Gibt es eine Möglichkeit, eine Zeitüberschreitung festzulegen? Ist es ein fester Thread-Pool? eine im Cache gespeicherte? Was ist es Priorität? Ist es irgendwo im Container konfigurierbar?
Ich denke, Timeout konnte durch Aufruf von Future.cancel (boolean) von einer mit @Timeout annotierten Methode. Erfordert die Beibehaltung eines Verweises auf die Zukunft, die von der asynchronen Methode zurückgegeben wird, Singleton-ejb kann dafür verwendet werden.
%Vor%Bearbeiten (neu unten):
In Glassfish können Sie den EJB-Pool konfigurieren, indem Sie die folgenden Attribute in der Admin-Konsole eingeben
Siehe Tuning des EJB-Pools
Obwohl die Lösung, die ich gefunden habe, nur auf Java EE 7 / GlassFish 4.1 getestet wurde, denke ich, dass sie auch für GlassFish 3.x funktionieren sollte.
Auf java.net gibt es einen JIRA-Eintrag , in dem die verschiedenen Einstellungen aufgeführt sind. Wie Oracle den Stecker auf dieser Seite ziehen wird, werde ich hier den relevanten Beitrag zitieren (Formatierung hinzugefügt):
Die Konfiguration befindet sich in domain.xml, zum Beispiel
%Vor%Alle oben genannten Eigenschaften sind optional. Ihre Standardwerte:
%Vor%
Über diesen Thread habe ich auch einen Blogpost gefunden, der erklärt, wie Die Kern- und Max-Pool-Größe funktioniert. Zitat des wichtigen Punktes:
In der Vergangenheit hat SUN richtig erklärt: "Genau so ist es sollte sich verhalten. Zuerst werden die Threads auf coreSize und dann auf die Warteschlange erweitert wird verwendet, dann wenn die Warteschlange gefüllt ist, dann die Anzahl der Threads erweitert von coreSize auf maxSize. Daher, wenn Sie eine unbegrenzte Warteschlange verwenden der letzte Teil passiert nie. Dies ist alles beschrieben in der Dokumentation. Wenn Sie eine unbegrenzte Warteschlange aber mehr Threads dann möchten Erhöhen Sie die Kerngröße. Ansonsten überlegen Sie, ob eine beschränkte Warteschlange ist besser geeignet für Ihre Bedürfnisse. "
Tags und Links java java-ee java-ee-6 glassfish-3