Tuesday Feb 11, 2014
Java Transaction API 1.2 aka JSR 907 (*), which is part of Java EE 7, adds 2 important new features : @Transactional and @TransactionScoped
Prior to JTA 1.2, transactions were delegated to EJBs. By doing that, the developer was shielded from doing low-level JTA/JTS transaction handling as all of this was transparently handeld by the EJB container. With CMT (Container-managed transaction), the default behaviour, the EJB container intercept calls so that it can interpose the required transaction plumbings. So this was, on one hand, handy because transactions were basically managed transparently but it also required, on the other hand, to use EJBs.
The new @Transactional annotation solve this by basically bringing the semantics of those EJB transaction attributes in managed beans without any dependencies on the EJB container. So the @Transactional annotation provides the ability to declaratively control transaction boundaries on managed beans. Under the hood, this capability is provided by a CDI interceptor that handle the necessary transaction plumbings (suspend, resume, commit, ...). In a nutshell, @Transactional bring the ease of CMT transactions to various Java EE Components (Servlet, JAX-RS, etc.) without requiring to use EJBs.
The new @TransactionScoped annotation provides the ability to specify a standard CDI scope to define bean instances whose lifecycle is scoped to the currently active JTA transaction. This simple code driven post explain and demonstrate such a behaviour in action.
(*) For the curious who might wonder why some JSRs start in the 9xx range, there's a simple explanation for that. Those specifications are referred, in JCP parlance, as "Grandfathered JSRs" because those specifications have originally been developed outside of the JCP.
Friday Jun 21, 2013
By John Clingan-Oracle on Jun 21, 2013
As stated previously (here) (here), the On-Demand Replay of Java EE 7 Launch Webinar is already available. You can watch the entire Strategy and Technical Keynote there, and all other Technical Breakout sessions as well.
We are releasing the next set of Technical Breakout sessions on GlassFishVideos YouTube channel as well. In this series, we are releasing JAX-RS 2.0, JTA 1.1, and JMS 2.0.
Here's the JAX-RS 2.0 session:
Here's the JTA 1.1 session:
Here's the JMS 2.0 session:
Enjoy watching them over the next few days before we release the next set of videos!
And don't forget to download Java EE 7 SDK and try numerous bundled samples.
Podcasts & Videos
- Developers Continue to Affirm Strong Support for Java EE 7
- Self-Documented Services Using JAX-RS Analyzer
- Java SE 8 and Java EE 7 in Production at TecSinapse
- Java EE @ ConFoo 2016
- The next VTS round is fast approaching!
- Java EE 7 Proves Effective for Mission-Critical E-Payment Systems
- Java EE @ DevNexus 2016
- Java EE in Practice for Secure Online Voting at Scytl
- Cargo Tracker Java EE 7 Blue Prints Now Running on WebLogic
- Revamping the Security API in Java EE 8