Sto imparando su EJB, finora ho letto che multi-threading non è consentito in EJB'S, perché è il contenitore che dovrebbe preoccuparsi della sicurezza dei thread e lasciare che lo sviluppatore si concentri solo nel business logica, quindi in pratica significa che EJB garantisce che solo un thread abbia accesso contemporaneamente a un metodo in un bean Session.Multi-threading in EJB
Cosa succede quando molti utenti accedono allo stesso metodo in un EJB? Il contenitore sta serializzando gli acces o sta creando diverse istanze del bean, una per thread?
Qualcuno potrebbe spiegarmi qual è la politica in merito? Inoltre sono un po 'confuso, perché se il multithreading non è consentito, quindi non possiamo creare i nostri thread, perché abbiamo questa annotazione @Asynchronous?
Domanda veloce, la sincronizzazione è eseguita a livello di metodo o di classe? Se ho ben capito, se due utenti provano ad accedere allo stesso metodo nella stessa istanza EJB, il contenitore EJB creerà un'altra istanza dell'EJB per eseguire lo stesso metodo in istanze diverse, cosa succede se il metodo non è lo stesso? Un'altra istanza verrà creata comunque? – fgonzalez
Viene eseguito a livello di istanza. Il contenitore non consentirà a due thread di inociare contemporaneamente una determinata istanza di bean, qualunque sia il metodo. E in genere non * crea * una nuova istanza. Ne prende uno dalla piscina. –
Cristal chiaro, grazie !! – fgonzalez