Java Virtal Machine.net

[ News ] rss

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 »

March/2024
SunMonTueWedThuFriSat
     12
3456789
10111213141516
171819 20212223
24252627282930
31      

[ Archives News
for 'Java Technology' ]

home > news > java technology > cdi gotcha

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

©2002-2019Java-Virtual-Machine.net website editor | free icon fonts | best website builder software | bootstrap forms | free bootstrap templates