12 Replies Latest reply on May 16, 2012 3:49 PM by dan.j.allen

    Arquillian Extension Seam2 - what's next?

    aslak

      > I have looked at sources and it looks great. Although I have some

      > additional questions to implementation as I am not Arquillian

      > developer:

      >

      > 1. We (will) have in Seam 2.3 parallel support of JSF1 and JSF2 by

      > different seam artifactId something like

      > org.jboss.seam:jboss-seam:2.3.0

      > for JSF1 and org.jboss.seam:jboss-seam-jsf2:2.3.0. Have you got any

      > advice or idea how to handle this in test project configuration? Or

      > is

      > it handled just by Maven from pom.xml

      >

       

      The extension could check for both dependencies in pom.xml and use the one found.

       

       

      > 2. Is it possible to support in the extension more versions of Seam

      > in

      > one release of Seam2 extension or we need to align every Seam release

      > with the arquillian-extension-seam2 release? This question is

      > specifically for 2.3.0, where are required some additional artifacts

      > if

      > we want to use it for JSF2.

      >

      >

      > Best regards

      > ---

      > Marek Novotny

      > ---

      > WFK and Seam Product Lead

       

       

      Currently the extension reads and uses the Seam version from your pom.xml. It can also be overwritten via arquillian.xml to specify which version of the artifact to use (e.g. if your not using Maven, or you want to test against a different version runtime vs compile).

       

      We could easily add a option to turn of auto packaging, and leave it up to the user. Similar we could easily add a option to define which artifacts to auto package if required.

       

      <extension qualifier="seam2">
        <property name="autoPackage">false</property>
        <property name="artifacts">org.jboss.seam:jboss-seam-jsf2:2.3.0,some:other-artifact</property>
      </extension>
      

       

      Are the extra dependencies required for jsf2 not a part of the artifacts dependency tree?

        • 1. Re: Arquillian Extension Seam2 - what's next?
          bmajsak

          I really like the idea of artifacts property. It will also help in other cases, such as this JBoss 4.2.3 specific dep. However we might consider a possibility to define if given artifact should go as WAR or EAR lib, right?

          • 2. Re: Arquillian Extension Seam2 - what's next?
            manarh

            Are the extra dependencies required for jsf2 not a part of the artifacts dependency tree?

            they should be there.

            • 3. Re: Arquillian Extension Seam2 - what's next?
              maschmid

              I have tried to run it with Seam 2.3 on AS7, so far with no luck  (https://github.com/maschmid/arquillian-extension-seam2/tree/as7  )

               

              Error, Caused by: java.lang.ClassNotFoundException: org.jboss.seam.contexts.Contexts from [Module "deployment.arquillian-service:main" from Service Module Loader]

              17:36:53,456 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: JBoss AS 7.1.0.Final-SNAPSHOT "Flux Capacitor" started in 7429ms - Started 134 of 205 services (70 services are passive or on-demand)
              13-Feb-2012 17:36:56 org.jboss.shrinkwrap.resolver.impl.maven.LogRepositoryListener metadataInvalid
              WARNING: Invalid metadata org.jboss.seam:jboss-seam-parent:2.3.0-SNAPSHOT/maven-metadata.xml
              17:36:57,994 INFO  [org.jboss.as.repository] (management-handler-threads - 2) JBAS014900: Content added at location /home/maschmid/testing/as7/jboss-as-7.1.0.Final-SNAPSHOT/standalone/data/content/cf/1dbbd6e2940abc0cf33b0b4ae544e047e1237b/content
              17:36:58,014 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-3) JBAS015876: Starting deployment of "arquillian-service"
              17:36:58,701 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.as.jmx:main") which may be changed or removed in future versions without notice.
              17:36:58,707 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.as.server:main") which may be changed or removed in future versions without notice.
              17:36:58,708 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.as.osgi:main") which may be changed or removed in future versions without notice.
              17:36:58,709 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.jandex:main") which may be changed or removed in future versions without notice.
              17:36:58,721 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-2) JBAS018567: Deployment "deployment.arquillian-service" is using a private module ("org.jboss.osgi.framework:main") which may be changed or removed in future versions without notice.
              17:36:58,722 WARN  [org.jboss.as.dependency.unsupported] (MSC service thread 1-2) JBAS018568: Deployment "deployment.arquillian-service" is using an unsupported module ("org.osgi.core:main") which may be changed or removed in future versions without notice.
              17:36:58,966 INFO  [org.jboss.as.server] (management-handler-threads - 2) JBAS018559: Deployed "arquillian-service"
              17:37:00,514 INFO  [org.jboss.as.repository] (management-handler-threads - 2) JBAS014900: Content added at location /home/maschmid/testing/as7/jboss-as-7.1.0.Final-SNAPSHOT/standalone/data/content/0e/65e6b49660b80bab39d31d432501d392278523/content
              17:37:00,528 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-4) JBAS015876: Starting deployment of "test.war"
              17:37:01,512 WARN  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015893: Encountered invalid class name 'org.xmlpull.mxp1.MXParser,org.xmlpull.mxp1_serializer.MXSerializer' for service type 'org.xmlpull.v1.XmlPullParserFactory'
              17:37:01,661 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-3) JBAS018567: Deployment "deployment.test.war" is using a private module ("org.javassist:main") which may be changed or removed in future versions without notice.
              17:37:01,662 WARN  [org.jboss.as.dependency.private] (MSC service thread 1-3) JBAS018567: Deployment "deployment.test.war" is using a private module ("org.javassist:main") which may be changed or removed in future versions without notice.
              17:37:01,778 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-2) JNDI bindings for session bean named EjbSynchronizations in deployment unit deployment "test.war" are as follows:
              
                   java:global/test/EjbSynchronizations!org.jboss.seam.transaction.LocalEjbSynchronizations
                   java:app/test/EjbSynchronizations!org.jboss.seam.transaction.LocalEjbSynchronizations
                   java:module/EjbSynchronizations!org.jboss.seam.transaction.LocalEjbSynchronizations
                   java:global/test/EjbSynchronizations
                   java:app/test/EjbSynchronizations
                   java:module/EjbSynchronizations
              
              17:37:01,782 INFO  [org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC service thread 1-2) JNDI bindings for session bean named TimerServiceDispatcher in deployment unit deployment "test.war" are as follows:
              
                   java:global/test/TimerServiceDispatcher!org.jboss.seam.async.LocalTimerServiceDispatcher
                   java:app/test/TimerServiceDispatcher!org.jboss.seam.async.LocalTimerServiceDispatcher
                   java:module/TimerServiceDispatcher!org.jboss.seam.async.LocalTimerServiceDispatcher
                   java:global/test/TimerServiceDispatcher
                   java:app/test/TimerServiceDispatcher
                   java:module/TimerServiceDispatcher
              
              17:37:02,004 INFO  [org.jboss.as.arquillian] (MSC service thread 1-1) Arquillian deployment detected: ArquillianConfig[service=jboss.arquillian.config."test.war",unit=test.war,tests=[org.jboss.arquillian.seam2.EventTestCase]]
              17:37:02,101 INFO  [javax.servlet.ServletContextListener] (MSC service thread 1-1) Welcome to Seam 2.3.0-SNAPSHOT
              17:37:02,128 WARN  [org.jboss.modules] (MSC service thread 1-1) Failed to define class org.jboss.seam.integration.jbossas.vfs.VFSScanner in Module "deployment.arquillian-service:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/jboss/seam/integration/jbossas/vfs/VFSScanner (Module "deployment.arquillian-service:main" from Service Module Loader)
                   at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:396) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.Module.loadModuleClass(Module.java:517) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.seam.deployment.DeploymentStrategy.instantiateScanner(DeploymentStrategy.java:121) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.deployment.DeploymentStrategy.initScanner(DeploymentStrategy.java:105) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.deployment.DeploymentStrategy.getScanner(DeploymentStrategy.java:61) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:119) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.init.Initialization.create(Initialization.java:130) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.10.Final.jar:]
                   at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.10.Final.jar:]
                   at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT]
                   at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
                   at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
                   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_30]
                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
                   at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
              Caused by: java.lang.NoClassDefFoundError: org/jboss/seam/deployment/AbstractScanner
                   at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_30]
                   at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [rt.jar:1.6.0_30]
                   at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [rt.jar:1.6.0_30]
                   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [rt.jar:1.6.0_30]
                   at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391) [jboss-modules.jar:1.1.1.GA]
                   ... 22 more
              Caused by: java.lang.ClassNotFoundException: org.jboss.seam.deployment.AbstractScanner from [Module "deployment.arquillian-service:main" from Service Module Loader]
                   at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
                   ... 28 more
              
              17:37:02,234 WARN  [org.jboss.modules] (MSC service thread 1-1) Failed to define class org.jboss.seam.integration.jbossas.jms.TopicConnection in Module "deployment.arquillian-service:main" from Service Module Loader: java.lang.LinkageError: Failed to link org/jboss/seam/integration/jbossas/jms/TopicConnection (Module "deployment.arquillian-service:main" from Service Module Loader)
                   at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:396) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:243) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ModuleClassLoader$1.loadClassLocal(ModuleClassLoader.java:73) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.Module.loadModuleClass(Module.java:517) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:182) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.seam.deployment.ClassDescriptor.(ClassDescriptor.java:30) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.deployment.AbstractScanner$Handler.getClassDescriptor(AbstractScanner.java:125) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.deployment.AbstractScanner$Handler.handle(AbstractScanner.java:67) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.deployment.AbstractScanner$Handler.handle(AbstractScanner.java:97) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.deployment.AbstractScanner.handle(AbstractScanner.java:225) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
                   at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
                   at org.jboss.seam.integration.jbossas.vfs.VFSScanner.handleItem(VFSScanner.java:208) [jboss-seam-int.jar:6.0.0.GA]
                   at org.jboss.seam.integration.jbossas.vfs.VFSScanner.handleRoot(VFSScanner.java:190) [jboss-seam-int.jar:6.0.0.GA]
                   at org.jboss.seam.integration.jbossas.vfs.VFSScanner.scanResources(VFSScanner.java:153) [jboss-seam-int.jar:6.0.0.GA]
                   at org.jboss.seam.deployment.StandardDeploymentStrategy.scan(StandardDeploymentStrategy.java:119) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.init.Initialization.create(Initialization.java:130) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.jboss.seam.servlet.SeamListener.contextInitialized(SeamListener.java:36) [jboss-seam-jsf2-2.3.0-SNAPSHOT.jar:2.3.0-SNAPSHOT]
                   at org.apache.catalina.core.StandardContext.contextListenerStart(StandardContext.java:3392) [jbossweb-7.0.10.Final.jar:]
                   at org.apache.catalina.core.StandardContext.start(StandardContext.java:3850) [jbossweb-7.0.10.Final.jar:]
                   at org.jboss.as.web.deployment.WebDeploymentService.start(WebDeploymentService.java:90) [jboss-as-web-7.1.0.Final-SNAPSHOT.jar:7.1.0.Final-SNAPSHOT]
                   at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
                   at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
                   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_30]
                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
                   at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
              Caused by: java.lang.NoClassDefFoundError: org/jboss/seam/jms/TopicConnection
                   at java.lang.ClassLoader.defineClass1(Native Method) [rt.jar:1.6.0_30]
                   at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) [rt.jar:1.6.0_30]
                   at java.lang.ClassLoader.defineClass(ClassLoader.java:615) [rt.jar:1.6.0_30]
                   at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) [rt.jar:1.6.0_30]
                   at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:327) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:391) [jboss-modules.jar:1.1.1.GA]
                   ... 31 more
              Caused by: java.lang.ClassNotFoundException: org.jboss.seam.jms.TopicConnection from [Module "deployment.arquillian-service:main" from Service Module Loader]
                   at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
                   ... 37 more
              
              17:37:04,408 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) reading properties from: /seam.properties
              17:37:04,462 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.init, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Init
              17:37:04,479 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.web.isUserInRole
              17:37:04,480 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.locale
              17:37:04,481 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.web.parameters
              17:37:04,486 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.manager
              17:37:04,487 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.transaction.synchronizations
              17:37:04,488 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.web.userPrincipal
              17:37:04,488 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.expressions
              17:37:04,489 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.locale
              17:37:04,490 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.jms.topicConnection
              17:37:04,490 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.core.resourceLoader
              17:37:04,496 INFO  [org.jboss.seam.init.Initialization] (MSC service thread 1-1) two components with same name, higher precedence wins: org.jboss.seam.persistence.persistenceProvider
              17:37:04,518 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: converterFactory, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.arquillian.seam2.test.simple.ConverterFactory
              17:37:04,548 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: emitter, scope: EVENT, type: JAVA_BEAN, class: org.jboss.arquillian.seam2.test.event.ConversionEmitter
              17:37:04,553 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: fluidOuncesConverter, scope: EVENT, type: JAVA_BEAN, class: org.jboss.arquillian.seam2.test.simple.FluidOuncesConverter
              17:37:04,567 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: holder, scope: EVENT, type: JAVA_BEAN, class: org.jboss.arquillian.seam2.test.event.ConversionResultHolder
              17:37:04,587 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.async.asynchronousExceptionHandler, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.async.AsynchronousExceptionHandler
              17:37:04,599 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.async.dispatcher, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.async.ThreadPoolDispatcher
              17:37:04,643 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.captcha.captcha, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.captcha.Captcha
              17:37:04,655 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.captcha.captchaImage, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.captcha.CaptchaImage
              17:37:04,657 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.ConversationIdGenerator, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationIdGenerator
              17:37:04,672 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.contexts, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Contexts
              17:37:04,678 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversation, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.core.Conversation
              17:37:04,692 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversationEntries, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationEntries
              17:37:04,694 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversationListFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationList
              17:37:04,698 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversationPropagation, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationPropagation
              17:37:04,707 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.conversationStackFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ConversationStack
              17:37:04,713 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.events, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.core.Events
              17:37:04,723 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.expressions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesExpressions
              17:37:04,727 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.interpolator, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.Interpolator
              17:37:04,735 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.locale, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.Locale
              17:37:04,745 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.manager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesManager
              17:37:04,753 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.resourceBundle, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.core.ResourceBundle
              17:37:04,762 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.resourceLoader, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.ResourceLoader
              17:37:04,768 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.core.validators, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.core.Validators
              17:37:04,775 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.document.documentStore, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.document.DocumentStore
              17:37:04,780 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.el.referenceCache, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.el.JBossELReferenceCache
              17:37:04,789 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.exception.exceptions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.exception.Exceptions
              17:37:04,795 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.dataModels, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.DataModels
              17:37:04,798 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.dateConverter, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.faces.DateConverter
              17:37:04,800 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.facesContext, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesContext
              17:37:04,802 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.facesPage, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesPage
              17:37:04,803 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.httpError, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.HttpError
              17:37:04,805 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.redirect, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.faces.Redirect
              17:37:04,806 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.switcher, scope: PAGE, type: JAVA_BEAN, class: org.jboss.seam.faces.Switcher
              17:37:04,808 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.uiComponent, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.UiComponent
              17:37:04,817 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.faces.validation, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.faces.Validation
              17:37:04,819 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.framework.currentDate, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentDate
              17:37:04,823 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.framework.currentDatetime, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentDatetime
              17:37:04,829 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.framework.currentTime, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.framework.CurrentTime
              17:37:04,834 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.localeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.international.LocaleSelector
              17:37:04,837 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.messagesFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.Messages
              17:37:04,847 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.statusMessages, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.faces.FacesMessages
              17:37:04,850 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.timeZone, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.international.TimeZone
              17:37:04,852 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.timeZoneSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.international.TimeZoneSelector
              17:37:04,854 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.international.timeZones, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.international.TimeZones
              17:37:04,860 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.mail.mailSession, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.mail.MailSession
              17:37:04,866 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.navigation.pages, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.navigation.Pages
              17:37:04,871 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.navigation.safeActions, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.navigation.SafeActions
              17:37:04,874 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.persistence.persistenceContexts, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.persistence.PersistenceContexts
              17:37:04,878 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.persistence.persistenceProvider, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.persistence.PersistenceProvider
              17:37:04,880 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.configurationFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.security.Configuration
              17:37:04,882 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.credentials, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.Credentials
              17:37:04,890 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.entityPermissionChecker, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.EntityPermissionChecker
              17:37:04,893 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.facesSecurityEvents, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.FacesSecurityEvents
              17:37:04,895 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.identifierPolicy, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.IdentifierPolicy
              17:37:04,899 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.identity, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.Identity
              17:37:04,903 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.identityManager, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.security.management.IdentityManager
              17:37:04,917 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.management.roleAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.RoleAction
              17:37:04,922 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.management.roleSearch, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.RoleSearch
              17:37:04,934 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.management.userAction, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.UserAction
              17:37:04,939 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.management.userSearch, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.management.action.UserSearch
              17:37:04,950 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.passwordHash, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.security.management.PasswordHash
              17:37:04,952 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.permission.permissionSearch, scope: CONVERSATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.action.PermissionSearch
              17:37:04,958 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.permissionManager, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PermissionManager
              17:37:04,963 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.permissionMapper, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PermissionMapper
              17:37:04,964 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.persistentPermissionResolver, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.security.permission.PersistentPermissionResolver
              17:37:04,968 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.security.rememberMe, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.security.RememberMe
              17:37:04,971 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.theme.themeFactory, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.theme.Theme
              17:37:04,973 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.theme.themeSelector, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.theme.ThemeSelector
              17:37:04,975 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.transaction.facesTransactionEvents, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.transaction.FacesTransactionEvents
              17:37:04,976 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.transaction.synchronizations, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.transaction.SeSynchronizations
              17:37:04,978 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.transaction.transaction, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.transaction.Transaction
              17:37:04,983 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.exceptionFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.ExceptionFilter
              17:37:04,985 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.identityFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.IdentityFilter
              17:37:04,986 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.isUserInRole, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.IsUserInRole
              17:37:04,988 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.loggingFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.LoggingFilter
              17:37:04,997 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.multipartFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.MultipartFilter
              17:37:05,000 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.parameters, scope: STATELESS, type: JAVA_BEAN, class: org.jboss.seam.faces.Parameters
              17:37:05,002 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.redirectFilter, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.web.RedirectFilter
              17:37:05,003 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.servletContexts, scope: EVENT, type: JAVA_BEAN, class: org.jboss.seam.web.ServletContexts
              17:37:05,004 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.session, scope: SESSION, type: JAVA_BEAN, class: org.jboss.seam.web.Session
              17:37:05,006 INFO  [org.jboss.seam.Component] (MSC service thread 1-1) Component: org.jboss.seam.web.userPrincipal, scope: APPLICATION, type: JAVA_BEAN, class: org.jboss.seam.faces.UserPrincipal
              17:37:05,009 WARN  [org.jboss.seam.security.permission.PersistentPermissionResolver] (MSC service thread 1-1) no permission store available - please install a PermissionStore with the name 'org.jboss.seam.security.jpaPermissionStore' if persistent permissions are required.
              17:37:05,141 INFO  [org.jboss.web] (MSC service thread 1-1) JBAS018210: Registering web context: /test
              17:37:05,164 INFO  [org.jboss.as.server] (management-handler-threads - 2) JBAS018559: Deployed "test.war"
              17:37:05,534 INFO  [org.jboss.arquillian.testenricher.cdi.container.BeanManagerProducer] (pool-4-thread-1) BeanManager not found.
              17:37:05,591 ERROR [org.jboss.arquillian.protocol.jmx.JMXTestRunner] (pool-4-thread-1) Failed: org.jboss.arquillian.seam2.EventTestCase.shouldConvertFluidOuncesToMillilitres: java.lang.NoClassDefFoundError: org/jboss/seam/contexts/Contexts
                   at org.jboss.arquillian.seam2.container.Seam2Enricher.enrichFields(Seam2Enricher.java:54) [arquillian-service:]
                   at org.jboss.arquillian.seam2.container.Seam2Enricher.enrich(Seam2Enricher.java:48) [arquillian-service:]
                   at org.jboss.arquillian.test.impl.TestInstanceEnricher.enrich(TestInstanceEnricher.java:52) [arquillian-service:]
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
                   at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
                   at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90) [arquillian-service:]
                   at org.jboss.arquillian.core.impl.EventContextImpl.invokeObservers(EventContextImpl.java:99) [arquillian-service:]
                   at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:81) [arquillian-service:]
                   at org.jboss.arquillian.test.impl.TestContextHandler.createTestContext(TestContextHandler.java:89) [arquillian-service:]
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
                   at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
                   at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90) [arquillian-service:]
                   at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) [arquillian-service:]
                   at org.jboss.arquillian.test.impl.TestContextHandler.createClassContext(TestContextHandler.java:75) [arquillian-service:]
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
                   at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
                   at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90) [arquillian-service:]
                   at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) [arquillian-service:]
                   at org.jboss.arquillian.test.impl.TestContextHandler.createSuiteContext(TestContextHandler.java:60) [arquillian-service:]
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
                   at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
                   at org.jboss.arquillian.core.impl.ObserverImpl.invoke(ObserverImpl.java:90) [arquillian-service:]
                   at org.jboss.arquillian.core.impl.EventContextImpl.proceed(EventContextImpl.java:88) [arquillian-service:]
                   at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:134) [arquillian-service:]
                   at org.jboss.arquillian.core.impl.ManagerImpl.fire(ManagerImpl.java:114) [arquillian-service:]
                   at org.jboss.arquillian.test.impl.EventTestRunnerAdaptor.before(EventTestRunnerAdaptor.java:95) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian$4.evaluate(Arquillian.java:222) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian$5.evaluate(Arquillian.java:240) [arquillian-service:]
                   at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) [arquillian-service:]
                   at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) [arquillian-service:]
                   at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) [arquillian-service:]
                   at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) [arquillian-service:]
                   at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) [arquillian-service:]
                   at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) [arquillian-service:]
                   at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:185) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian.multiExecute(Arquillian.java:314) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian.access$100(Arquillian.java:46) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:199) [arquillian-service:]
                   at org.junit.runners.ParentRunner.run(ParentRunner.java:236) [arquillian-service:]
                   at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:147) [arquillian-service:]
                   at org.junit.runner.JUnitCore.run(JUnitCore.java:157) [arquillian-service:]
                   at org.junit.runner.JUnitCore.run(JUnitCore.java:136) [arquillian-service:]
                   at org.jboss.arquillian.junit.container.JUnitTestRunner.execute(JUnitTestRunner.java:65) [arquillian-service:]
                   at org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethodInternal(JMXTestRunner.java:128) [arquillian-service:]
                   at org.jboss.arquillian.protocol.jmx.JMXTestRunner.runTestMethod(JMXTestRunner.java:107) [arquillian-service:]
                   at org.jboss.as.arquillian.service.ArquillianService$ExtendedJMXTestRunner.runTestMethod(ArquillianService.java:226) [arquillian-service:]
                   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_30]
                   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_30]
                   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_30]
                   at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_30]
                   at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93) [rt.jar:1.6.0_30]
                   at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27) [rt.jar:1.6.0_30]
                   at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208) [rt.jar:1.6.0_30]
                   at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120) [rt.jar:1.6.0_30]
                   at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262) [rt.jar:1.6.0_30]
                   at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) [rt.jar:1.6.0_30]
                   at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761) [rt.jar:1.6.0_30]
                   at org.jboss.as.jmx.PluggableMBeanServerImpl$TcclMBeanServer.invoke(PluggableMBeanServerImpl.java:489)
                   at org.jboss.as.jmx.PluggableMBeanServerImpl.invoke(PluggableMBeanServerImpl.java:243)
                   at org.jboss.remoting3.jmx.protocol.v1.ServerProxy$InvokeHandler.handle(ServerProxy.java:1034)
                   at org.jboss.remoting3.jmx.protocol.v1.ServerProxy$MessageReciever$1.run(ServerProxy.java:215)
                   at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [rt.jar:1.6.0_30]
                   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [rt.jar:1.6.0_30]
                   at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_30]
              Caused by: java.lang.ClassNotFoundException: org.jboss.seam.contexts.Contexts from [Module "deployment.arquillian-service:main" from Service Module Loader]
                   at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:190) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:468) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:456) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClassChecked(ConcurrentClassLoader.java:423) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:398) [jboss-modules.jar:1.1.1.GA]
                   at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:120) [jboss-modules.jar:1.1.1.GA]
                   ... 75 more
              
              
              


              • 4. Re: Arquillian Extension Seam2 - what's next?
                aslak

                right..  this is probably because the Arquillian Seam2 bits are deployed in the Arq Service, while the Seam libs are in the deployment..

                • 5. Re: Arquillian Extension Seam2 - what's next?
                  maschmid

                  I thought so... any idea what is the proper way to do it on AS7, then?

                  • 6. Re: Arquillian Extension Seam2 - what's next?
                    aslak

                    using the Servlet Protocol probably fixes it.

                     

                    You can define it on a global level in arq.xml <arquillian><defaultProtocol type="Servlet 3.0" />.... or @Deployment @OverProtocol("Servlet 3.0") on a pr deployment level..

                     

                    Also need to add a dependency to org.jboss.arquillian.protocol:arquillian-protocol-servlet

                    • 7. Re: Arquillian Extension Seam2 - what's next?
                      lightguard

                      The servlet protocol is probably what we should be telling people to use anyway as so much of Seam 2 is dependant on actually being in server environment, otherwise you end up with SeamTest and lots and lots of mocks.

                       

                      EDIT: It will also make it easier for people to use Drone for functional and acceptance tests.

                      • 8. Re: Arquillian Extension Seam2 - what's next?
                        dan.j.allen

                        Correct, the servlet protocol is the best choice for Java EE use cases. Heaven knows module visiblitly is complex enough, no need to make it more cryptic in testing (I believe in a separate thread Pete also agreed with that, as it's being used as the recommendation for the Java EE developer tutorials).

                        • 9. Re: Arquillian Extension Seam2 - what's next?
                          dan.j.allen

                          I would change this a bit. Rather than thinking of it as "stuff these artifacts into the deployment", instead think of it as artifact aliases. For instance, in this scenario we need a seam-jsf integration library, either for JSF 1 or JSF 2. It makes sense, then, to define an alias for these coordinates. I'm not sure yet what the synax of the config would be, but let's just say:

                           

                          <property name="artifacts:seam-jsf">org.jboss.seam:jboss-seam-jsf2:2.3.0</property>
                          

                           

                          There, whereever you would have referred to the specific GAV coordinates, you instead use the alias. The definition of that alias can be switched around dynamically based on configuration activation.

                           

                          There are two things that come to mind based on that idea:

                           

                          1. Perhaps this aliasing should be a feature of ShrinkWrap resolvers
                          2. Extensions may need to define built-in aliases that would allow users to "plug-in" different artifacts

                           

                          I guess this is really the whole idea of library sets in an IDE. You depend on a library set name, then you have to configure which JARs make up that set.

                          • 10. Re: Arquillian Extension Seam2 - what's next?
                            maschmid

                            I have been trying recently to use the Seam2 Arq extension to convert the Seam2.3 examples' integration test suite. It is clear that some things would not be testable with a pure Seam2 Arq, without something like jsfunit (e.g. anything that touches FacesContext, such as testing the behavior of pages.xml). The more important issue to me is the inability to test conversations in any meaningful way. Since the conversation stuff is not tied to JSF, it still should be possible to do something like the following, which we are used to with SeamTest:

                             

                            @Test

                            void test() {

                              String id = new MockRequest() {

                                // do stuff here

                              }.run();

                             

                              new MockRequest(id) {

                                // do stuff there

                              }.run();

                            }

                             

                            Currently I don't think this would be possible, as the Seam2 Arq extension uses Lifecycle.beginCall(); and one cannot use Lifecycle.beginCall / Lifecycle.endCall with long-running conversations in Seam.

                             

                            Another thing I have noticed is that the injection into test class is mostly useless in Seam, except for simplistic cases, as due to how outjection and factories work in Seam, one has to reinject things anyway to test that something changed, so you still have to use mostly Component.getInstance, and you still have to think whether you can inject the thing in advance or not, depending on the scope.

                             

                            BTW. I have now managed to get the JUnitSeamTest working with Arquillian on AS7. It does not work with the Seam2 Arq extension, as the SeamTest depends on Seam not being initialized, so it can initialize it itself with the faces mocks, etc. The code is in the Seam_2_3 branch in Seam SVN.  (some examples such as booking and blog are now using Seam2 Arq extension, the others (such as nestedbooking) mostly JUnitSeamTest)

                            • 11. Re: Arquillian Extension Seam2 - what's next?
                              dan.j.allen

                              Marek,

                               

                              This functionality is something I've been stressing since the early days of Arquillian, esp when Arquillian was being evaluated through a Seam 2 (SeamTest) lens. Emulating the lifecycle is a central aspect of SeamTest.

                               

                              Although my first instinct was to clone the behavior, the reason I haven't pushed for it is because I think we need to take a step back and ask whether the approach that SeamTest uses is really meaningful. There's no question that the inline lifecycle emulation plugs the void so that the components can function, but it's a synthetic environment and likely to miss many real world integration failures.

                               

                              The most promising solution seems to be Lukas' proposed JSFUnit.NG, which is really more of an HTTP client that dually has access to server-side components and not something tied to JSF.

                               

                              The other approach is to implement a mock servlet container that basically works like a servlet container exception that it's totally standalone. This is the direction that SeamTest was headed and something that was implemented by JSFMock. I have suggested creating a top-level mock servlet container because it seems like everyone keeps reimplementing it over and over again.

                               

                              I'm a bit torn which direction to go. If we can run tests in-container, why not use real servlet requests? On the other hand, to test with something like Weld EE Embedded (which I recognize doesn't apply to Seam 2 testing, but does to JSF), you would need a mock servlet container.

                               

                              The obvious easy out is to use JSFUnit, but the Arquillian integration needs more work before it can be recommended.

                               

                              wdyt?

                               

                              Either way, I think we need to move on this because a Seam 2 extension w/o inline JSF lifecycle execution is going to be hard for people to adopt.

                              • 12. Re: Arquillian Extension Seam2 - what's next?
                                dan.j.allen

                                I've started a discussion in the Seam 2 forums on the topic of migrating SeamTest-based tests to Arquillian.

                                 

                                Migrating Seam2 tests to Arquillian

                                 

                                The message basically says it's a work in progress and includes references to the Seam2 extension and Arquillian Warp (JSFUnit.NG).