February 01, 2011
Mark Wielaard: New GPG key.
Finally created a new GPG key using gnupg. The old one was a DSA/1024 bits one and 8 years old. The new one is a RSA/2048 bits one. I will use the new one in the future to sign any release tarballs I might create. pub 2048R/57816A6A 2011-01-29 Key f...
More »
February 01, 2011
Andrew Hughes: [SECURITY] IcedTea6 1.7.8, 1.8.5, 1.9.5 Released!.
We are pleased to announce a new set of security releases, IcedTea6 1.7.8, IcedTea6 1.8.5 and IcedTea6 1.9.5.
This update contains the following security updates:
The IcedTea project provides a harness to build the source code from OpenJDK6 u...
More »
December/2024
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | |
|
|
CDI gotcha
I learned this the hard way and wanted to make sure other people could benefit.
While putting together a Java EE 6 application, I had put together a @SessionScoped bean that inherited from an abstract superclass. Both the super- and subclass have injection points. The subclass uses @Inject; the superclass only uses @PersistenceContext.
Now, I had added the required META-INF/beans.xml file to the jar file housing the subclass, but never thought to add it to the superclass jar file, since of course when I wrote the superclass I wasn't thinking CDI at all (and actually as it happened when I wrote the abstract superclass it was in the Java EE 5 days), so why would I have packaged it into a bean archive?
But it turns out--somewhat unintuitively--that if you inherit from a class that has an injection point in it--even if the injection point is defined in terms of Java EE and not CDI--and if that abstract class comes from a jar that is not a bean archive, then dependency injection by the CDI provider will not be applied to its injection point until you make sure that its jar file contains a META-INF/beans.xml file.
A simpler way to put this is that for any given inheritance chain, all jars in the chain containing classes with injection points must be bean archives.
(On a totally unrelated subject, the documentation links in this post are to the horrific new documentation URLs that Oracle has seen fit to imp...
Date: July, 23 2010
Url: http://www.java.net/blog/ljnelson/archive/2010/07/23/cdi-gotcha
Others News
|