3 Replies Latest reply: Apr 20, 2012 3:40 AM by Dan Allen RSS

JBoss AS BeanManager not found

mcgin Newbie

For some reason I cannot get dependency injection to work with Arquillian.  I've devised a very simple test just to see if injection is working and I'm getting "BeanManager not found" output in the server logs which presumably is the root of the NullPointerException.


Relevant info attached below, I presume I'm just missing something very basic here!

 

 

 

Test case:

@RunWith(Arquillian.class)
public class ServiceTest {
private static final Logger logger = LoggerFactory.getLogger(ServiceTest.class);
    @Deployment
    public static Archive<?> createTestArchive() {
        return ShrinkWrap.create(WebArchive.class, "test.war")
                .addAsManifestResource("test-jboss-deployment-structure.xml","jboss-deployment-structure.xml")
                .addAsManifestResource(EmptyAsset.INSTANCE, ArchivePaths.create("beans.xml"))
                .addClass(Injectable.class)
                ;


    }


    @Inject
    private Injectable injectable;

    @Test
    public void testCanPersistLocationObject() {
        logger.info("RUNNING THE TEST");
        logger.info(injectable.injectMe()); //This is throwing a null pointer exception
    }

}

 

 

 

Injectable.java

 

@Stateless
public class Injectable {
    public String injectMe() {
        return "I was injected";
    }
}

 

 

Arquillian Dependencies

                <dependency>
                    <groupId>org.jboss.spec</groupId>
                    <artifactId>jboss-javaee-6.0</artifactId>
                    <version>1.0.0.Final</version>
                    <type>pom</type>
                    <scope>provided</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.as</groupId>
                    <artifactId>jboss-as-arquillian-container-remote</artifactId>
                    <version>${jbossas.version}</version>
                    <scope>test</scope>
                </dependency>
                <dependency>
                    <groupId>org.jboss.arquillian.junit</groupId>
                    <artifactId>arquillian-junit-container</artifactId>
                    <version>${arquillian.version}</version>
                    <scope>test</scope>
                </dependency>

 

 

 

Server logs:

 

 

17:56:41,300 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) Starting deployment of "test.war"
17:56:41,353 INFO  [org.jboss.as.jpa] (MSC service thread 1-1) added javax.persistence.api dependency to test.war
17:56:41,363 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-1) JNDI
bindings for session bean named Injectable in deployment unit deployment "test.war" are as follows:


        java:global/test/Injectable!service.Injectable
        java:app/test/Injectable!service.Injectable
        java:module/Injectable!service.Injectable
        java:global/test/Injectable
        java:app/test/Injectable
        java:module/Injectable

17:56:41,383 INFO  [org.jboss.as.arquillian] (MSC service thread 1-1) Arquillian deployment detected: ArquillianConfig[service=jb
ss.arquillian.config."test.war",unit=test.war,tests=[service.ServiceTest]]
17:56:41,395 INFO  [org.jboss.web] (MSC service thread 1-3) registering web context: /test
17:56:41,405 INFO  [org.jboss.as.server.controller] (pool-1-thread-23) Deployed "test.war"
17:56:41,610 INFO  [org.jboss.arquillian.testenricher.cdi.container.BeanManagerProducer] (RMI TCP Connection(42)-127.0.0.1) BeanM
nager not found.
17:56:41,617 INFO  [com.gamblerstools.bettingbot.service.BetbotServiceTest] (RMI TCP Connection(42)-127.0.0.1) RUNNING THE TEST
17:56:41,621 ERROR [org.jboss.arquillian.protocol.jmx.JMXTestRunner] (RMI TCP Connection(42)-127.0.0.1) Failed: service.ServiceTest.testCanPersistLocationObject: java.lang.NullPointerException