Quando si deve scegliere il metodo async EJB su MDB con il servizio java message per eseguire task asincroni di lunga durata?Metodo asincrono Mdb vs EJB 3.1
risposta
@MessageDriven
(MDB) fa parte dell'API JMS. JMS ha tutti i tipi di extra quando si tratta di riprovare il consumo di messaggi non riusciti, il supporto delle transazioni e consente anche di controllare la coda dei messaggi.
@Asynchronous
annotazione non è stata introdotta unti java-ee-6 (ejb 3.1).
Supponendo che il caso d'uso è semplice invocazione asincrona in-6 java-ee contenitore o al di sopra, utilizzare @Asynchronous (arun guptas blog on this)
Se avete bisogno di più di là di questo, JMS potrebbe essere un'opzione
@Asynchronous
è solo appropriato se la transazione esterna ha bisogno di lanciare più pezzi di lavoro in parallelo e poi aspettare su tutti (o lanciare un singolo pezzo di lavoro in background, fare un po 'di lavoro in primo piano, e quindi attendere il lavoro in background). @Asynchronous
non è appropriato per transazioni "fire and forget" perché il contenitore potrebbe bloccarsi prima che il lavoro asincrono inizi ad essere eseguito (a mio avviso, i metodi asincroni EJB sono molto raramente utili, forse per qualcosa come l'aggiornamento di una cache in memoria). Se si desidera garantire che il lavoro avvenga in modo asincrono senza attendere il completamento, è necessario inviare un messaggio a un MDB o programmare un timer EJB.
- 1. EJB 3.1 @LocalBean vs nessuna annotazione
- 2. EJB 3.1 Embedded API - Test unitario EJB + entità JPA
- 3. Metodi di chiamata Asincrono in EJB
- 4. attendono vs Task.Result in un metodo asincrono
- 5. Pianificazione lavoro: EJB 3.1 Timer o quarzo?
- 6. Possiamo usare ejb-jar.xml invece delle annotazioni per MessageDrivenBean (MDB) in EJB 3.0?
- 7. Spring vs EJB (vantaggio e svantaggio)
- 8. Disabilitazione del timer EJB (GlassFish 3.1, Java EE 6)
- 9. Mocha: asincrono vs sync
- 10. È possibile utilizzare EJB 3.1 in applicazioni desktop?
- 11. Come esporre un EJB 3.1 come servizio Web REST?
- 12. Come scrivere il client EJB 3.1 per WebSphere 8.5?
- 13. EJB 3.1 Conversazione con stato e CDI Scope
- 14. Chiamare un metodo asincrono da un metodo non asincrono
- 15. Utilizzo asincrono in metodo non asincrono
- 16. python 2.7 vs python 3.1
- 17. Maven tipo di dipendenza EJB vs vaso
- 18. Iniezioni EJB vs solo fagioli gestiti JSF
- 19. Pro e Contro: Hibernate vs. EJB 3
- 20. @EJB injection vs lookup - performance issue
- 21. EJB Vs WebService? Punto di vista prestazionale
- 22. Web Services vs EJB vs RMI, vantaggi e svantaggi?
- 23. Ricerca run-time per EJB in MDB che consuma subito dopo la distribuzione
- 24. EJB - Ricerca fallita per 'ejb/BookRequestBean'
- 25. Servizio timer in ejb 3.1 - problema di timeout delle chiamate di pianificazione
- 26. accdb vs mdb. Quale è più veloce/migliore?
- 27. EJB: utilizzo di EntityManager nel metodo PostConstruct
- 28. C'è un modo per configurare gli MDB in modo programmatico?
- 29. chiamata metodo asincrono in IEnumerable.Select
- 30. Come creare un metodo asincrono
In che modo il contenitore potrebbe "bloccarsi"? – Dherik
Il processo JVM viene ucciso, la macchina perde improvvisamente potenza, ecc. –