[arquillian-issues] [JBoss JIRA] Commented: (ARQ-433) Add a Tomcat 7 embedded container

Ian Brandt (JIRA) jira-events at lists.jboss.org
Fri May 6 19:41:18 EDT 2011


    [ https://issues.jboss.org/browse/ARQ-433?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12600475#comment-12600475 ] 

Ian Brandt commented on ARQ-433:
--------------------------------

The tests pass from the old https://github.com/arquillian/arquillian.git repo.  A notable difference is in the old repo the Servlet 2.5 protocol is being used, whereas in the new repo it's the Local protocol.  The {{org.jboss.arquillian.protocol.servlet.v_2_5.ServletProtocolDeploymentPackager}} adds auxiliary archives such as {{arquillian-tomcat-testenrichers.jar}} [to the web application archive|http://community.jboss.org/message/551100]:

{noformat}
.
./META-INF
./META-INF/context.xml
./WEB-INF
./WEB-INF/beans.xml
./WEB-INF/classes
./WEB-INF/classes/org
./WEB-INF/classes/org/jboss
./WEB-INF/classes/org/jboss/arquillian
./WEB-INF/classes/org/jboss/arquillian/container
./WEB-INF/classes/org/jboss/arquillian/container/tomcat
./WEB-INF/classes/org/jboss/arquillian/container/tomcat/embedded_6
./WEB-INF/classes/org/jboss/arquillian/container/tomcat/embedded_6/TestBean.class
./WEB-INF/classes/org/jboss/arquillian/container/tomcat/embedded_6/TestServlet.class
./WEB-INF/classes/org/jboss/arquillian/container/tomcat/embedded_6/TomcatEmbeddedInContainerTestCase.class
./WEB-INF/classes/org/jboss/arquillian/protocol
./WEB-INF/classes/org/jboss/arquillian/protocol/servlet
./WEB-INF/classes/org/jboss/arquillian/protocol/servlet/runner
./WEB-INF/classes/org/jboss/arquillian/protocol/servlet/runner/SecurityActions$1.class
./WEB-INF/classes/org/jboss/arquillian/protocol/servlet/runner/SecurityActions$GetTcclAction.class
./WEB-INF/classes/org/jboss/arquillian/protocol/servlet/runner/SecurityActions.class
./WEB-INF/classes/org/jboss/arquillian/protocol/servlet/runner/ServletTestRunner.class
./WEB-INF/lib
./WEB-INF/lib/arquillian-core.jar
./WEB-INF/lib/arquillian-junit.jar
./WEB-INF/lib/arquillian-tomcat-testenrichers.jar
./WEB-INF/lib/weld-servlet-1.0.1-Final.jar
./WEB-INF/web.xml
{noformat}

The {{org.jboss.arquillian.container.test.impl.client.protocol.local.LocalDeploymentPackager}} does not:

{noformat}
./META-INF
./META-INF/context.xml
./WEB-INF
./WEB-INF/beans.xml
./WEB-INF/classes
./WEB-INF/classes/org
./WEB-INF/classes/org/jboss
./WEB-INF/classes/org/jboss/arquillian
./WEB-INF/classes/org/jboss/arquillian/container
./WEB-INF/classes/org/jboss/arquillian/container/tomcat
./WEB-INF/classes/org/jboss/arquillian/container/tomcat/embedded_6
./WEB-INF/classes/org/jboss/arquillian/container/tomcat/embedded_6/TestBean.class
./WEB-INF/classes/org/jboss/arquillian/container/tomcat/embedded_6/TestServlet.class
./WEB-INF/classes/org/jboss/arquillian/container/tomcat/embedded_6/TomcatEmbeddedInContainerTestCase.class
./WEB-INF/lib
./WEB-INF/lib/weld-servlet-1.0.1-Final.jar
./WEB-INF/web.xml
{noformat}

Was the change to the Local protocol intentional, and if so any tips on how test enrichment should work with it?

Also are there any immediate plans to switch Hudson to the new repo?

> Add a Tomcat 7 embedded container
> ---------------------------------
>
>                 Key: ARQ-433
>                 URL: https://issues.jboss.org/browse/ARQ-433
>             Project: Arquillian
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: Tomcat Containers
>    Affects Versions: 1.0.0.Alpha5
>            Reporter: Ian Brandt
>
> Tomcat 7 has deprecated the {{[org.apache.catalina.startup.Embedded|http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/startup/Embedded.html]}} API as used by the {{arquillian-tomcat-embedded-6}} container implementation.  The new API is {{[org.apache.catalina.startup.Tomcat|http://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/startup/Tomcat.html]}}.  That said I have no idea if the [new {{Tomcat}} API is mature or suitable|http://www.coderanch.com/t/513623/Tomcat/Tomcat-embedded-web-app-jar] for Arquillian at this time.  Either way with Tomcat 7 implementing [Servlet 3.0's web fragments|http://java.sun.com/developer/technicalArticles/JavaEE/JavaEE6Overview_Part2.html], which coincide nicely with Arquillian/ShrinkWrap by allowing one to package isolated parts of their production webapp configuration for select integration tests, I think it would be great if Arquillian declared Tomcat 7 as a supported container.  This could be done by implementing the new API in an {{arquillian-tomcat-embedded-7}} container, forking the deprecated API from {{arquillian-tomcat-embedded-6}} to create the same, or just adding documentation that states the {{arquillian-tomcat-embedded-6}} container can and should be used for Tomcat 7 at this time.
> Thoughts?  I'm going to plow ahead with {{arquillian-tomcat-embedded-6}} for now.  If I run into a reason to fork it or create a container around the new API I'll try my hand at a pull request.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the arquillian-issues mailing list