Non ho usato JavaEE6.
Tuttavia, sono stato picchiato abbastanza gravemente da tutte le versioni precedenti di JavaEE e EJB che non mi fiderò di esso finché non si affermerà come standard de facto, non solo come standard de jure. In questo momento, la primavera è ancora lo standard de facto.
Ingannami una volta, vergogna per te. Ingannami due volte, vergognami. Ingannami tre volte, EJB.
Alcuni affermeranno che la primavera è proprietaria. Direi che le implementazioni del fornitore delle specifiche JavaEE sono state altrettanto proprietarie, se non di più.
Recentemente sono passato attraverso un'importante conversione di spostare un gruppo di applicazioni Java da JBoss a Weblogic. Tutte le app Spring / Hibernate sono state portate senza modifiche, perché avevano tutte le librerie di cui avevano bisogno integrate. Tutte le app che utilizzavano JPA, EJB e JSF sono state un disastro da portare. Sottili differenze nelle interpretazioni di JPA, EJB e JSF tra i server delle app hanno causato tutti i tipi di bug fastidiosi che hanno richiesto un'eternità per essere risolti. Anche qualcosa di semplice come la denominazione JNDI era completamente diverso tra gli AppServer.
La primavera è un'implementazione. JavaEE è una specifica. Questa è una differenza enorme. Preferirei usare una specifica SE la specifica fosse a tenuta d'aria al 100% e non lasciasse assolutamente alcun margine di manovra nel modo in cui i fornitori implementano quella specifica. Ma la specifica JavaEE non è mai stata quella. Forse JavaEE6 è più a tenuta d'aria? Non lo so. Più pacchetti puoi inserire nel tuo WAR e meno dipendi dalle librerie di AppServer, più la tua applicazione sarà portabile, e questo, dopotutto, è il motivo per cui uso Java e non Dot-NET.
Anche SE le specifiche fossero a tenuta stagna, sarebbe bello poter aggiornare il server app senza dover aggiornare tutti i miei stack tecnologici in tutte le mie applicazioni insieme ad esso. Se desidero eseguire l'aggiornamento da JBoss 4.2 a JBoss 7.0, devo considerare l'impatto della versione più recente di JSF su tutte le mie applicazioni. Non devo considerare l'impatto sulle mie applicazioni Spring-MVC (o Struts).