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. > > > > >