tomcat 6 embedded and remote

    This is a simple example showing how Arquillian can be used with tomcat, using CDI with Weld. Both embedded and remote tests are provided, and can be run with Maven or Gradle.

     

    Maven:

    mvn -Ptc6-remote clean test
    mvn -Ptc6-embedded clean test
    

     

    Gradle:

    gradle clean tc6R
    gradle clean tc6E
    

     

    Remote

    In order to configure remote testing, JMX needs to be enabled and user access configured for the manager application.

     

    1. JMX

     

    The following options added to tomcat startup parameters enable JMX on port 8099:

    -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

     

    2. User Access

    Tthe "manager" application needs to be deployed, as well as users configured, e.g. in TOMCAT_HOME/conf/tomcat-users.xml:

    <tomcat-users>
            <role rolename="manager" />
            <user username="admin" password="pass" roles="manager" />
    </tomcat-users>
    

     

     

    This will allow deployment of remote tests from arquillian, using the following configuration (arquillian.xml):

     

    
    <property name="jmxPort">8099</property>
    <property name="user">admin</property>
    <property name="pass">pass</property>