Hi,
it has been quite a long time since I published my last post. I have had a very tough time with lots of stuff to do.
But let's continue with a topic/a solution for a problem I have been waiting for several month.
It's about developing maven JavaEE5 projects with Netbeans 6.8. If you have the following project structure : one EAR which contains webprojects and ejb projects and you want to see changes you add to your web content (e.g. .jsp , .faces) directly in the browser without rebuilding or republishing, Compile on Save is the feature you should be looking for.
However, exactly for this usecase, it's not working. The corresponding netbeans bugfix is scheduled for Netbeans 6.9.
I think it is almost impossible to switch from ant (with ant-based projects it works perfectly) to maven. Maybe you ask yourself why I want to switch to maven? It's because of my favorite, the one and only hudson continuous integration server. Hudson is optimized for Maven-based jobs and it makes it way easier to create, extend and monitor these jobs.
I am kind of surprised because only 4 people voted for this issue. It could be that it's because of the few Netbeans users. But among german voters in this survey at jaxenter I see that this can't be the case. So is it because the few JavaEE5 projects with maven? What's your opinion?
Daniel
2010-03-23
2010-01-23
CDI JSR-299 updates
Hi guys,
I just want to tell you that I updated the post about my first CDI impressions. I will update this post regularly (see the red bold update text), in order to have one blogpost that contains all the neccessary information for CDI beginners.
By the way, have you searched for CDI on twitter?
Most of the results are not about JavaEE, but Mercedes Benz cars, as CDI also stands for Capacitor Discharger Ignition, which is used in many Mercedes Benz car models. :)
Another funny thing is WELD TEST (Weld is the JSR 299/CDI reference implementation). In the last few days I was looking for a way to write JUnit test for the CDI features. As you need a container, it's tough to test it outside a container. However, Gavin King described in a forum post how to test CDI(Weld). There's going to be a WELD TEST. If you google it...you'll find ...
Anyway, before jumping to the next JavaEE 6 component, I will try to write some Dependecy Injection Junit Tests and tell you about it... I am of the opinion that CDI testing has not been considered that much until now (at least you won't find much about it)
Greetings
Daniel
I just want to tell you that I updated the post about my first CDI impressions. I will update this post regularly (see the red bold update text), in order to have one blogpost that contains all the neccessary information for CDI beginners.
By the way, have you searched for CDI on twitter?
Most of the results are not about JavaEE, but Mercedes Benz cars, as CDI also stands for Capacitor Discharger Ignition, which is used in many Mercedes Benz car models. :)
Another funny thing is WELD TEST (Weld is the JSR 299/CDI reference implementation). In the last few days I was looking for a way to write JUnit test for the CDI features. As you need a container, it's tough to test it outside a container. However, Gavin King described in a forum post how to test CDI(Weld). There's going to be a WELD TEST. If you google it...you'll find ...
Anyway, before jumping to the next JavaEE 6 component, I will try to write some Dependecy Injection Junit Tests and tell you about it... I am of the opinion that CDI testing has not been considered that much until now (at least you won't find much about it)
Greetings
Daniel
2010-01-13
Happy Developers and the ROTI Meeting
Hi alltogether,
As this i my first post in 2010, I wish you all a great start and all the best!
My holiday is over and project work has started.
Before continuing with more Java EE 6 examples, I want to tell you about two really great articles about the motivation of developers and the ROTI Meeting.
I really don't like any stereotype thinking, but as it exists I think it is very important for all the non developers to realize what developers really want....
1) Being Set up to Succeed
- Good requirements
- Realistic Deadlines
"Being forced to build crap is one of the worst things you can do to a craftsman"
2) Having Excellent Management
3) Learning New Things
4) Exercising Creativity and Solving the right kind of problems
5) Having a voice
"When a developer speaks, someone should listen. When several developers are saying the same thing, someone should listen and act . . .quickly"
6) Being Recognized for Hard Work
7) Building Something that Matters
8) Building Software without an Act of Congress
9) Having Few Legacy Constraints
(this is taken from the following article at DZONE)
As a consultant who has a strong focus on developing applications I completely agree with all these points. It is often very hard to have no influence in the decision making process (developers.getProjectRoles().contains(ProjectRoles.DECISION_MAKER)==false). I also sometimes ask myself whether developing software is the main goal of some (software) projects, it could also be attending as many meetings as possible. What I care most about is point 5. Agile Processes, where problems can be solved quickly when several developers try to change something, is a very important part. It's so frustrating if your voice is ignored, especially when you have the whole team behind you. So if the goal is writing software and you really want to do it in time with a certain quality, every project definitly needs happy developers.
For all of you who don't like those "mandatory no result meetings", have you ever heard of the ROTI Meeting?
The following part is just an extract from the link above, so if you want to read more about it, follow the link.
After every meeting, on the way out the door, draw a diagonal line on the whiteboard with the labels 0, 2, and 4.
Each person in turn gives a number on how the meeting performed as a "Return on Time Invested" and the person with the marker draws in the rating. Here is the rating scale we used:
0 = "I'd have been better off making a Starbuck's run. Complete waste of time"
1 = "You really should have let me stay at my desk and code"
2 = "This was an OK meeting. About as valuable as if I'd been coding"
3 = "Surprisingly, this was more valuable than if I'd been writing code"
4 = "Wow, this meeting saved me tons of time. Thank goodness I didn't skip it to code"
Are you asking yourself about the benefit. It's about retrospective, optimizing your productivity and keeping the motivation at a good level. I am a big supporter of retrospective and I can handle criticism (as long as it is goal-oriented), so I would give the ROTI Meeting a try. What do you think?
As this i my first post in 2010, I wish you all a great start and all the best!
My holiday is over and project work has started.
Before continuing with more Java EE 6 examples, I want to tell you about two really great articles about the motivation of developers and the ROTI Meeting.
I really don't like any stereotype thinking, but as it exists I think it is very important for all the non developers to realize what developers really want....
1) Being Set up to Succeed
- Good requirements
- Realistic Deadlines
"Being forced to build crap is one of the worst things you can do to a craftsman"
2) Having Excellent Management
3) Learning New Things
4) Exercising Creativity and Solving the right kind of problems
5) Having a voice
"When a developer speaks, someone should listen. When several developers are saying the same thing, someone should listen and act . . .quickly"
6) Being Recognized for Hard Work
7) Building Something that Matters
8) Building Software without an Act of Congress
9) Having Few Legacy Constraints
(this is taken from the following article at DZONE)
As a consultant who has a strong focus on developing applications I completely agree with all these points. It is often very hard to have no influence in the decision making process (developers.getProjectRoles().contains(ProjectRoles.DECISION_MAKER)==false). I also sometimes ask myself whether developing software is the main goal of some (software) projects, it could also be attending as many meetings as possible. What I care most about is point 5. Agile Processes, where problems can be solved quickly when several developers try to change something, is a very important part. It's so frustrating if your voice is ignored, especially when you have the whole team behind you. So if the goal is writing software and you really want to do it in time with a certain quality, every project definitly needs happy developers.
For all of you who don't like those "mandatory no result meetings", have you ever heard of the ROTI Meeting?
The following part is just an extract from the link above, so if you want to read more about it, follow the link.
After every meeting, on the way out the door, draw a diagonal line on the whiteboard with the labels 0, 2, and 4.
Each person in turn gives a number on how the meeting performed as a "Return on Time Invested" and the person with the marker draws in the rating. Here is the rating scale we used:
0 = "I'd have been better off making a Starbuck's run. Complete waste of time"
1 = "You really should have let me stay at my desk and code"
2 = "This was an OK meeting. About as valuable as if I'd been coding"
3 = "Surprisingly, this was more valuable than if I'd been writing code"
4 = "Wow, this meeting saved me tons of time. Thank goodness I didn't skip it to code"
Are you asking yourself about the benefit. It's about retrospective, optimizing your productivity and keeping the motivation at a good level. I am a big supporter of retrospective and I can handle criticism (as long as it is goal-oriented), so I would give the ROTI Meeting a try. What do you think?
2009-12-28
High-Tech
Hello again,
Since I am somehow related to Sweden I travel to this country regularly.
Every time I go there I am astonished by the wide spread technological progress and its common use in every day life. Not only young people are using new technologies, but also grandmas, or grandpas!
To give you some examples.
Number 1: In the supermarket:
At ICA, the largest retail company in the Nordic countries, you can chose between paying your food the normal way (shopping cart, scanning, checkout) OR with a self scanning service. See the following video.
After you chose all of your things you have to go to one of those machines and pay: By the way, I didn't have any problems scanning the goods. And yes, you can cheat, but the Swedes are honest people.



Number 2: Virtual bus ticket (SMS)
If you want to purchase a bus ticket in a city in Sweden, you can send a text message to obtain your virtual ticket. After you receive the message (your ticket) you have to show it to the bus driver.

There's also a nice article about this topic.
Number 3: Facebook usage
Another amazing thing is the fact that in Sweden even grandmas have facebook accounts. They sometimes use facebook to invite their grandchildren for "fika" (the swedish word for coffee break). Unbeliveable! I have problems explaining my dad the difference between SMS, CD, DVD and Email :)
Last but not least, for all the statistics lovers, visit this link
For all the developers out there, the next possibility for a visit to sweden will be on March 16-17, at the Scandinavian Developer Conference 2010. By the way, the Swedes speak English very well, so there are no language barriers not to visit this country :)
Hälsningar/Greetings (from Sweden)
Daniel
Since I am somehow related to Sweden I travel to this country regularly.
Every time I go there I am astonished by the wide spread technological progress and its common use in every day life. Not only young people are using new technologies, but also grandmas, or grandpas!
To give you some examples.
Number 1: In the supermarket:
At ICA, the largest retail company in the Nordic countries, you can chose between paying your food the normal way (shopping cart, scanning, checkout) OR with a self scanning service. See the following video.
After you chose all of your things you have to go to one of those machines and pay: By the way, I didn't have any problems scanning the goods. And yes, you can cheat, but the Swedes are honest people.



Number 2: Virtual bus ticket (SMS)
If you want to purchase a bus ticket in a city in Sweden, you can send a text message to obtain your virtual ticket. After you receive the message (your ticket) you have to show it to the bus driver.

There's also a nice article about this topic.
Number 3: Facebook usage
Another amazing thing is the fact that in Sweden even grandmas have facebook accounts. They sometimes use facebook to invite their grandchildren for "fika" (the swedish word for coffee break). Unbeliveable! I have problems explaining my dad the difference between SMS, CD, DVD and Email :)
Last but not least, for all the statistics lovers, visit this link
For all the developers out there, the next possibility for a visit to sweden will be on March 16-17, at the Scandinavian Developer Conference 2010. By the way, the Swedes speak English very well, so there are no language barriers not to visit this country :)
Hälsningar/Greetings (from Sweden)
Daniel
2009-12-23
Java EE 6 - CDI (JSR 299) - my first impressions
Hi there!
After taking some time to go through various documents (see link list below) and do some coding samples about the topic CDI, the following things came into my mind:
"lots of annotations", "very abstract specification", "what role will CDI play in JavaEE within the next years?", "can become quite powerful", "I need some best practices".
The specification of CDI (CDI stands for Context and Dependency Injection) with its 92 pages is in my opinion not the right place to start if you want to learn CDI. It is an abstract specification, which shows all the elements a CDI capable container must implement. I really like the specification, but as the code samples didn't really help me (due to missing explanations), I think it is just not the best place to start.
Weld, the reference CDI implementation, offers a great documentation (see link below).
By the way, there are other implementations, too: Resin Candi and Apache Open Web Beans.
If you use Glassfish V3, Weld is included and if you develop using the WebProfile (see earlier post), Weld is even included.
But what is CDi all about? CDI offers..
- an improved lifecycle for stateful objects, bound to well-defined contexts
- a typesafe approach to dependency injection
- object interaction via an event notification facility
- a better approach to binding interceptors to objects, along with a new kind of interceptor, called a decorator, that is more appropriate for use in solving business problems
- an SPI for developing portable extensions to the container.
Gavin King mentioned in the interview:
Originally JSR 299 was called Web Beans, to emphasize its role in making the web technologies of Java EE 6 work better with the transactional access technologies. Originally, one of the key problems we wanted to solve was how can we build an application that uses JSF very easily together with technologies like EJB. So it was originally called Web Beans...It over‑emphasized that this was a web technology, when if you actually look at CDI, it's actually something much more general than that. So after much discussion, the name of the spec ended up being changed to “Context and Dependency Injection."
One of the main buzz words is (Managed) Bean. We have been using beans in Java a lot before. There are Enterprise Java Beans, Message Driven Beans or JSF managed beans. Now, in JavaEE 6 the word bean finally gets a well defined definition.
Managed Beans are defined as container managed objects which support a small set of basic services, such as resource injection, lifecycle callbacks and interceptors
With very few exceptions, almost every concrete Java class (also known as pojo) that has a constructor with no parameters (or a constructor designated with the annotation @Inject) is a bean. This includes every JavaBean and every EJB session bean.
To give you a short impression about what a Managed Bean can look like see my BeyonceBean :)
If you want to learn CDI you should stick to the Weld Documentation provided by JBoss. There are many well described code samples. Maybe this code sample explains what first came into my mind: " lots of annotations" . I am sure it'll take some time to get used to this way of Java enterprise coding. With CDI you really focus on creating/using lots of annotations, either for type safety reasons, for interceptors or decorators.
UPDATE 01-23-2010
Reza Rahman, a Resin team member, provides some perfect articles for CDI beginners. I really like the way he explains the CDI features. So this link might be a perfect if you are new to CDI.
Another reflection I would like to share with you is my CDI experience with Netbeans 6.8 and Glassfish V3.
- If you don't annotate your Bean with @ManagedBean you don't get the JSF code completion feature. This is very inconvenient. But I am sure the Netbeans developers and community will provide a solution soon.
However, there is actually a more general problem with the @ManagedBeanAnnotation. The article Is @javax.faces.bean.ManagedBean Dead on Arrival?. describes that there are 3 different ways in JavaEE6 of how to define a ManagedBean in the source code: with JSR 316,250/JEE6Spec,AnnotationSpec javax.annotation.ManagedBean, with JSR 314/JSF2Spec javax.faces.bean.ManagedBean and with JSR299/CDISpec javax.inject.Named. So which one should we use? Use the @Named annotation!
- Then I had some problems with the Deploy on Save. When I changed the scope of the bean from request to session, I had to do a clean, otherwise I got a deployment error "Managed bean declaring a passivating scope must be passivation capable" -- which means must implement serializable (even though I added the Serializable interface).
I am going to take a closer look at this and see if there already are some open issues. Otherwise I will submit this problem.
My conclusion:
As I haven't figured out the full capacity of CDI and as it seems to have the power to change the way of writing Java EE applications essentially (or may even become the new JEE6 core programming model), I am very interested in CDI and I will continue reading about it.. As soon as ICEFaces 2.0 will be released I will update my training application from JavaEE5 to EE6 and focus on applying CDI features. As I will have to wait for at least another month I will keep an eye on how CDI is evolving.
Here are the links:
Specification - JCP 299 CDI
Weld documentation - JBOSS about CDI
Gavin King on CDI - tech discussion @ javalobby
CDI capable servers and deployment - see here
UPDATED 01-20-2010:
Java EE 6 Codecamp - Here you can do some CDI homework examples. A great way to learn Java EE.
After taking some time to go through various documents (see link list below) and do some coding samples about the topic CDI, the following things came into my mind:
"lots of annotations", "very abstract specification", "what role will CDI play in JavaEE within the next years?", "can become quite powerful", "I need some best practices".
The specification of CDI (CDI stands for Context and Dependency Injection) with its 92 pages is in my opinion not the right place to start if you want to learn CDI. It is an abstract specification, which shows all the elements a CDI capable container must implement. I really like the specification, but as the code samples didn't really help me (due to missing explanations), I think it is just not the best place to start.
Weld, the reference CDI implementation, offers a great documentation (see link below).
By the way, there are other implementations, too: Resin Candi and Apache Open Web Beans.
If you use Glassfish V3, Weld is included and if you develop using the WebProfile (see earlier post), Weld is even included.
But what is CDi all about? CDI offers..
- an improved lifecycle for stateful objects, bound to well-defined contexts
- a typesafe approach to dependency injection
- object interaction via an event notification facility
- a better approach to binding interceptors to objects, along with a new kind of interceptor, called a decorator, that is more appropriate for use in solving business problems
- an SPI for developing portable extensions to the container.
Gavin King mentioned in the interview:
Originally JSR 299 was called Web Beans, to emphasize its role in making the web technologies of Java EE 6 work better with the transactional access technologies. Originally, one of the key problems we wanted to solve was how can we build an application that uses JSF very easily together with technologies like EJB. So it was originally called Web Beans...It over‑emphasized that this was a web technology, when if you actually look at CDI, it's actually something much more general than that. So after much discussion, the name of the spec ended up being changed to “Context and Dependency Injection."
One of the main buzz words is (Managed) Bean. We have been using beans in Java a lot before. There are Enterprise Java Beans, Message Driven Beans or JSF managed beans. Now, in JavaEE 6 the word bean finally gets a well defined definition.
Managed Beans are defined as container managed objects which support a small set of basic services, such as resource injection, lifecycle callbacks and interceptors
With very few exceptions, almost every concrete Java class (also known as pojo) that has a constructor with no parameters (or a constructor designated with the annotation @Inject) is a bean. This includes every JavaBean and every EJB session bean.
To give you a short impression about what a Managed Bean can look like see my BeyonceBean :)
@Named
@SessionScoped
public class BeyonceBean implements Serializable {
@PrivateMusicLabel
@Inject
private Label label;
@Produces
@Named(value = "singBeyonce")
public String singBeyonce() {
return "Everywhere I am looking now, I am surrounded by your embrace...Halo Halo Halo";
}
public String getInjectedMusicLabelInfo() {
return label.toString();
}
}
If you want to learn CDI you should stick to the Weld Documentation provided by JBoss. There are many well described code samples. Maybe this code sample explains what first came into my mind: " lots of annotations" . I am sure it'll take some time to get used to this way of Java enterprise coding. With CDI you really focus on creating/using lots of annotations, either for type safety reasons, for interceptors or decorators.
UPDATE 01-23-2010
Reza Rahman, a Resin team member, provides some perfect articles for CDI beginners. I really like the way he explains the CDI features. So this link might be a perfect if you are new to CDI.
Another reflection I would like to share with you is my CDI experience with Netbeans 6.8 and Glassfish V3.
- If you don't annotate your Bean with @ManagedBean you don't get the JSF code completion feature. This is very inconvenient. But I am sure the Netbeans developers and community will provide a solution soon.
However, there is actually a more general problem with the @ManagedBeanAnnotation. The article Is @javax.faces.bean.ManagedBean Dead on Arrival?. describes that there are 3 different ways in JavaEE6 of how to define a ManagedBean in the source code: with JSR 316,250/JEE6Spec,AnnotationSpec javax.annotation.ManagedBean, with JSR 314/JSF2Spec javax.faces.bean.ManagedBean and with JSR299/CDISpec javax.inject.Named. So which one should we use? Use the @Named annotation!
- Then I had some problems with the Deploy on Save. When I changed the scope of the bean from request to session, I had to do a clean, otherwise I got a deployment error "Managed bean declaring a passivating scope must be passivation capable" -- which means must implement serializable (even though I added the Serializable interface).
I am going to take a closer look at this and see if there already are some open issues. Otherwise I will submit this problem.
My conclusion:
As I haven't figured out the full capacity of CDI and as it seems to have the power to change the way of writing Java EE applications essentially (or may even become the new JEE6 core programming model), I am very interested in CDI and I will continue reading about it.. As soon as ICEFaces 2.0 will be released I will update my training application from JavaEE5 to EE6 and focus on applying CDI features. As I will have to wait for at least another month I will keep an eye on how CDI is evolving.
Here are the links:
Specification - JCP 299 CDI
Weld documentation - JBOSS about CDI
Gavin King on CDI - tech discussion @ javalobby
CDI capable servers and deployment - see here
UPDATED 01-20-2010:
Java EE 6 Codecamp - Here you can do some CDI homework examples. A great way to learn Java EE.
2009-12-19
Java EE 6 - The WebProfile
Hi guys,
Within the next few weeks/months I will write about the new Java EE6 components.
The first new feature I am focussing on is the so called WebProfile.
The Web Profile is targeted at developers of modern web applications.
Within the last years developing web applications has become more and more important. However, there has also been a large number of technologies for the creation of web applications. All of them had to face similar challenges, like security handling, persitence or transaction handling. The WebProfile aims at defining a basic stack for developing web applications using the Java platform.
The following technologies are required components of the Web Profile:
•Servlet 3.0
•JavaServer Pages (JSP) 2.2
•Expression Language (EL) 2.2
•Debugging Support for Other Languages (JSR-45) 1.0
•Standard Tag Library for JavaServer Pages (JSTL) 1.2
•JavaServer Faces (JSF) 2.0
•Common Annotations for Java Platform (JSR-250) 1.1
•Enterprise JavaBeans (EJB) 3.1 Lite
•Java Transaction API (JTA) 1.1
•Java Persistence API (JPA) 2.0
•Context and Dependency Injection (JSR-299)
The maven repository offers the following jar for the WebProfile
(see maven repository url).
Include it into your pom like this:
If you chose Netbeans 6.8 as your development environment you can create a maven built web project. In the project properties within the run menu you can switch between the different profiles (full and web).

After switching you see the difference in the libraries (the full profile uses the javaee-api-6.0.jar).
The Java EE6 reference implementation Glassfish V3, based on OSGI, allows the dynamic addition of new functionality both from Sun and third parties. Glassfish V3 offers both the Full JavaEE profile and the new WebProfile.
Based on internal Sun benchmarks, Sun GlassFish Enterprise Server v3 startup times are over twice as fast as v2 and in the case of the Web Profile offering, nearly three times faster.
The following glassfish page gives you a perfect overview between what is included in the Web Profile and in the Full Java EE Profile.
I really love the new WebProfile. Not only because of the performance boost, but also because of the simplified packaging (No EAR packaging needed anymore). So if you don't depend on JMS or remote EJBs, the new WebProfile is what you were looking for as a web developer. Give it a try.
Within the next few weeks/months I will write about the new Java EE6 components.
The first new feature I am focussing on is the so called WebProfile.
The Web Profile is targeted at developers of modern web applications.
Within the last years developing web applications has become more and more important. However, there has also been a large number of technologies for the creation of web applications. All of them had to face similar challenges, like security handling, persitence or transaction handling. The WebProfile aims at defining a basic stack for developing web applications using the Java platform.
The following technologies are required components of the Web Profile:
•Servlet 3.0
•JavaServer Pages (JSP) 2.2
•Expression Language (EL) 2.2
•Debugging Support for Other Languages (JSR-45) 1.0
•Standard Tag Library for JavaServer Pages (JSTL) 1.2
•JavaServer Faces (JSF) 2.0
•Common Annotations for Java Platform (JSR-250) 1.1
•Enterprise JavaBeans (EJB) 3.1 Lite
•Java Transaction API (JTA) 1.1
•Java Persistence API (JPA) 2.0
•Context and Dependency Injection (JSR-299)
The maven repository offers the following jar for the WebProfile
(see maven repository url).
Include it into your pom like this:
<repositories>
<repository>
<id>java.net2</id>
<name>Repository hosting the jee6 artifacts</name>
<url>http://download.java.net/maven/2</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-web-api</artifactId>
<version>6.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
If you chose Netbeans 6.8 as your development environment you can create a maven built web project. In the project properties within the run menu you can switch between the different profiles (full and web).

After switching you see the difference in the libraries (the full profile uses the javaee-api-6.0.jar).
The Java EE6 reference implementation Glassfish V3, based on OSGI, allows the dynamic addition of new functionality both from Sun and third parties. Glassfish V3 offers both the Full JavaEE profile and the new WebProfile.
Based on internal Sun benchmarks, Sun GlassFish Enterprise Server v3 startup times are over twice as fast as v2 and in the case of the Web Profile offering, nearly three times faster.
The following glassfish page gives you a perfect overview between what is included in the Web Profile and in the Full Java EE Profile.
I really love the new WebProfile. Not only because of the performance boost, but also because of the simplified packaging (No EAR packaging needed anymore). So if you don't depend on JMS or remote EJBs, the new WebProfile is what you were looking for as a web developer. Give it a try.
2009-12-13
Java EE 6 - The Overview
Hi altogether,
While enjoying my christmas holidays in Sweden I have enough time to look at some of the new features Java EE 6 offers.
Here's the overview:
- JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification, JSR 316
- Contexts and Dependency Injection for the Java EE Platform (CDI), JSR 299
- Enterprise JavaBeans 3.1 (No Interface, Singelton, asynchronous EJBs vs MDBs, Timer), JSR 318
- Java API for RESTful Web Services (JAX-RS), JSR 311
- JPA 2.0 (Support for Pessimistic Locking), JSR 317
- Dependency Injection for Java, JSR 330:
- Bean Validation, JSR 303
- Servlet 3.0, JSR 315
- JSF 2.0, JSR 314
- new Deployment possibilities
- improved/simplified testing
Right now I am focussing on CDI (JSR 299), which is a pretty big new part in Java EE 6. It'll take some time to summarize. In the meantime, I hope you're enjoying your free days over christmas.
So God Jul, Merry Christmas, Frohe Weihnacht, Feliz navidad, Joyeux Noël! or if you need some more translations...
While enjoying my christmas holidays in Sweden I have enough time to look at some of the new features Java EE 6 offers.
Here's the overview:
- JavaTM Platform, Enterprise Edition 6 (Java EE 6) Specification, JSR 316
- Contexts and Dependency Injection for the Java EE Platform (CDI), JSR 299
- Enterprise JavaBeans 3.1 (No Interface, Singelton, asynchronous EJBs vs MDBs, Timer), JSR 318
- Java API for RESTful Web Services (JAX-RS), JSR 311
- JPA 2.0 (Support for Pessimistic Locking), JSR 317
- Dependency Injection for Java, JSR 330:
- Bean Validation, JSR 303
- Servlet 3.0, JSR 315
- JSF 2.0, JSR 314
- new Deployment possibilities
- improved/simplified testing
Right now I am focussing on CDI (JSR 299), which is a pretty big new part in Java EE 6. It'll take some time to summarize. In the meantime, I hope you're enjoying your free days over christmas.
So God Jul, Merry Christmas, Frohe Weihnacht, Feliz navidad, Joyeux Noël! or if you need some more translations...
Subscribe to:
Posts (Atom)