not exactly,

basically difference is instance#get (fixed in 888) and
instance#iterator (to fix)


Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau


2014-05-13 16:47 GMT+02:00 Xavier Dury <[email protected]>:
> I think it's this bug: https://issues.apache.org/jira/browse/OWB-888
>
>> From: [email protected]
>> Date: Tue, 13 May 2014 16:40:41 +0200
>> Subject: Re: Problem with OpenWebbeans when Iterating over 
>> javax.enterprise.inject.Instance<T>
>> To: [email protected]
>>
>> Hi
>>
>> this is an openwebbeans bug, you can open an issue
>>
>>
>> Romain Manni-Bucau
>> Twitter: @rmannibucau
>> Blog: http://rmannibucau.wordpress.com/
>> LinkedIn: http://fr.linkedin.com/in/rmannibucau
>> Github: https://github.com/rmannibucau
>>
>>
>> 2014-05-13 16:19 GMT+02:00 Markus F. Frisch <[email protected]>:
>> > I get a DefinitionException when trying to iterate over an instance of 
>> > org.apache.webbeans.inject.instance.InstanceImpl in the current snapshot 
>> > of TomEE+ (i.e. in own 1.2.4).
>> >
>> > What I am trying to do is:
>> >
>> > ————————8<————————>8————————
>> > @Stateless
>> > public class JobOperator {
>> >
>> >     @Inject
>> >     private Instance<MyBatchJob> batchJobs;
>> >
>> > …
>> >
>> >     private MyBatchJob findMatchingJob(String jobName) {
>> >         MyBatchJob batchJob = null;
>> >         for (MyBatchJob job : batchJobs) {
>> >             if (job.getName().equalsIgnoreCase(jobName)) {
>> >                 batchJob = job;
>> >                 break;
>> >             }
>> >         }
>> >         if (batchJob == null)
>> >             throw new RuntimeException("There ain’t no Job named '" + 
>> > jobName + "'.");
>> >         return batchJob;
>> >     }
>> > ————————8<————————>8————————
>> > MyBatchJob is a common interface implemented by all my BatchJobs.
>> >
>> > When this code is running I get the following Exception:
>> >
>> > ————————8<————————>8————————
>> > org.apache.webbeans.exception.inject.DefinitionException: Unsupported type 
>> > null
>> > at org.apache.webbeans.util.ClassUtil.getClazz(ClassUtil.java:950)
>> > at 
>> > org.apache.webbeans.container.BeanManagerImpl.getEjbOrJmsProxyReference(BeanManagerImpl.java:804)
>> > at 
>> > org.apache.webbeans.container.BeanManagerImpl.getReference(BeanManagerImpl.java:740)
>> > at 
>> > org.apache.webbeans.inject.instance.InstanceImpl.iterator(InstanceImpl.java:270)
>> > at 
>> > de.nobiscum.rs7030.batch.boundary.JobOperator.findMatchingJob(JobOperator.java:162)
>> > ————————8<————————>8————————
>> >
>> > I took a look at org.apache.webbeans.inject.instance.InstanceImpl<T> and 
>> > found the following:
>> >
>> > ————————8<————————>8————————
>> >     public Iterator<T> iterator()
>> >     {
>> >         Set<Bean<?>> beans = resolveBeans();
>> >         List<T> instances = new ArrayList<T>();
>> >         parentCreationalContext.putInjectionPoint(injectionPoint);
>> >         try
>> >         {
>> >             for(Bean<?> bean : beans)
>> >             {
>> >                 T instance = (T) 
>> > webBeansContext.getBeanManagerImpl().getReference(bean,null, 
>> > parentCreationalContext);
>> > ————————8<————————>8————————
>> >
>> > It looks like this function is passing null as the beanType to 
>> > getReference() which in gets handed down to ClassUtil.getClazz() which 
>> > chokes on that.
>> >
>> > Am I doing something that is not supposed to work here? Or is this a bug? 
>> > Should I file a bug report.
>> >
>> > Thanks for your help,
>> > Markus Frisch
>> >
>> > --
>> > Markus Frisch
>> > [Prokurist / Authorized Representative]
>> > nobisCum Deutschland GmbH
>> >
>> > [T] +49 9302 / 987 97 - 2633
>> > [M] +49 173 / 91 88 058
>> > [@] [email protected]<mailto:[email protected]>
>> > [URL] http://www.nobisCum.de
>> >
>> > [Anschrift] Ostring 2-4, 97228 Rottendorf, Germany
>> > [Registergericht] Würzburg, HRB 5159
>> > [Geschäftsführer] Herbert Stieglitz, Hans-Peter Holl
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>> >
>

Reply via email to