Isn't it cause we reuse a generic producer?
Romain Manni-Bucau @rmannibucau <https://twitter.com/rmannibucau> | Blog <https://rmannibucau.metawerx.net/> | Old Blog <http://rmannibucau.wordpress.com> | Github <https://github.com/rmannibucau> | LinkedIn <https://www.linkedin.com/in/rmannibucau> 2017-12-18 13:01 GMT+01:00 John D. Ament <johndam...@apache.org>: > That's good that this works. However, I wonder if my issue is specific to > 3rd Party Bean creation? Same problem seems to be on both OWB and Weld, > which makes me think it's an impl issue, but I can't think of anything else > required on the impl side. > > Bean.getTypes() correctly returns String[].class > qualifiers are correct > > The create method on the bean is never invoked, the injection point is > always null. > > John > > On Mon, Dec 18, 2017 at 3:59 AM Romain Manni-Bucau <rmannibu...@gmail.com> > wrote: > > > Works for me: > > > > public class ArrayProducerTest extends AbstractUnitTest > > { > > > > @Test > > public void test() > > { > > startContainer(StringProducer.class); > > > > final String[] produced1 = getInstance(String[].class); > > final StringProducer[] produced2 = > > getInstance(StringProducer[].class); > > > > Assert.assertEquals(1, produced1.length); > > Assert.assertEquals("string", produced1[0]); > > > > Assert.assertEquals(1, produced2.length); > > Assert.assertNotNull(produced2[0]); > > > > shutDownContainer(); > > > > } > > > > public static class StringProducer > > { > > @Produces > > public String[] produces() > > { > > return new String[] { "string" }; > > } > > > > @Produces > > public StringProducer[] produces2() > > { > > return new StringProducer[] { this }; > > } > > } > > > > } > > > > > > > > Romain Manni-Bucau > > @rmannibucau <https://twitter.com/rmannibucau> | Blog > > <https://rmannibucau.metawerx.net/> | Old Blog > > <http://rmannibucau.wordpress.com> | Github < > > https://github.com/rmannibucau> | > > LinkedIn <https://www.linkedin.com/in/rmannibucau> > > > > 2017-12-18 9:15 GMT+01:00 Mark Struberg <strub...@yahoo.de.invalid>: > > > > > I think it should work. > > > > > > Could you please create a ticket? > > > > > > txs and LieGrue, > > > strub > > > > > > > > > > Am 18.12.2017 um 03:47 schrieb John D. Ament <johndam...@apache.org > >: > > > > > > > > MP Config is adding arrays as a valid type for config properties. In > > > doing > > > > so, without making any changes to Geronimo Config I get this failure > > (not > > > > what I'm expecting, I'm expecting no valid beans at this point): > > > > > > > > arquillianBeforeClass(org.eclipse.microprofile.config. > > > tck.ClassConverterTest) > > > > Time elapsed: 0.022 sec <<< FAILURE! > > > > org.apache.webbeans.exception.WebBeansConfigurationException: > > > > java.lang.IllegalArgumentException: Can't determine the type for > > Class<? > > > > extends Object>[] > > > > at org.apache.webbeans.config.BeansDeployer.deploy( > > > BeansDeployer.java:351) > > > > at > > > > org.apache.webbeans.lifecycle.AbstractLifeCycle. > bootstrapApplication( > > > AbstractLifeCycle.java:137) > > > > at > > > > org.apache.webbeans.lifecycle.AbstractLifeCycle.startApplication( > > > AbstractLifeCycle.java:103) > > > > at > > > > > > org.apache.webbeans.arquillian.standalone.OwbStandaloneContainer.deploy( > > > OwbStandaloneContainer.java:118) > > > > at > > > > org.jboss.arquillian.container.impl.client.container. > > > ContainerDeployController$3.call(ContainerDeployController.java:161) > > > > at > > > > org.jboss.arquillian.container.impl.client.container. > > > ContainerDeployController$3.call(ContainerDeployController.java:128) > > > > at > > > > org.jboss.arquillian.container.impl.client.container. > > > ContainerDeployController.executeOperation(ContainerDeployController. > > > java:271) > > > > at > > > > org.jboss.arquillian.container.impl.client.container. > > > ContainerDeployController.deploy(ContainerDeployController.java:127) > > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > > at > > > > sun.reflect.NativeMethodAccessorImpl.invoke( > > > NativeMethodAccessorImpl.java:62) > > > > at > > > > sun.reflect.DelegatingMethodAccessorImpl.invoke( > > > DelegatingMethodAccessorImpl.java:43) > > > > at java.lang.reflect.Method.invoke(Method.java:498) > > > > > > > > It seems that OWB can't handle array types as fields for injection. > Is > > > > this in fact expected? This is even though for any given class T, > > > > T[].class is a valid object. > > > > > > > > >