[arquillian-issues] [JBoss JIRA] (ARQ-1848) Tomcat managed containers should start and stop Tomcat using the standard run scripts

Ian Brandt (JIRA) issues at jboss.org
Sun Sep 21 21:00:04 EDT 2014


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

Ian Brandt commented on ARQ-1848:
---------------------------------

[~sfcoy]: Thanks for the feedback.  I made an effort to DRY up most of the codebase.  It's not 100% yet, but I think I've made a substantial dent.  I have a few more TODOs in mind, but I can tell tunnel vision is starting to set in.  I'd welcome any ideas you might have for further cleanup.

I chatted with [~aslak] on IRC, and he was ok with having a go at this JIRA for a 1.0.0.CR8 release on the condition that I maintain backwards compatibility.  I've attempted to do just that, and pushed a first draft to https://github.com/arquillian/arquillian-container-tomcat/tree/ARQ-1848.  This branch includes all the cleanup done on [master|https://github.com/arquillian/arquillian-container-tomcat/tree/master].

I'll be testing and tidying this branch up during the coming week.  I don't readily have a way to test on Windows, so I could use help with that if anyone is available.  Of course any other feedback or concerns are also welcomed.

> Tomcat managed containers should start and stop Tomcat using the standard run scripts
> -------------------------------------------------------------------------------------
>
>                 Key: ARQ-1848
>                 URL: https://issues.jboss.org/browse/ARQ-1848
>             Project: Arquillian
>          Issue Type: Feature Request
>          Components: Tomcat Containers
>    Affects Versions: tomcat_1.0.0.CR7
>            Reporter: Ian Brandt
>            Assignee: Ian Brandt
>             Fix For: tomcat_1.0.0.Final
>
>
> The [standard Tomcat run scripts|http://tomcat.apache.org/tomcat-8.0-doc/RUNNING.txt] contain a fair little bit of logic and features:
> * Multiple instance support (requiring the proper merging of resources from {{CATALINA_BASE}} and {{CATALINA_HOME}}).
> * Logging configuration.
> * Running with or without a security manager.
> * Support for configuration in the 'setenv' script.
> * Endorsed and temp directory configuration.
> * Launching with JPDA related configuration.
> * OS variant and TTY related configuration on UNIX.
> By building the Java command to launch Tomcat directly the current {{CommonTomcatManagedContainer}} forgoes the standard implementation of all this.  There is a growing history of bug reports and feature requests that suggest this may not be the best approach:
> * ARQ-628 - Tomcat managed throws NullPointerException when application under test brings weld-servlet dependency
> * ARQ-866 - Allow catalina.base to be configured separately from catalina.home in the Tomcat managed adapters
> * ARQ-1650 - Managed container bypasses tomcat jul setup
> * ARQ-1843 - Tomcat managed container ignores javaHome configuration
> * ARQ-1846 - Support configuration of the Tomcat system classpath from managed containers
> * ARQ-1847 - Support specifying JMX RMI server port
> Rather than reinventing the wheel here, we should just launch and stop Tomcat with the standard run script for the current OS, exposing it's environment variable-driven configuration via arquillian.xml and the {{CommonTomcatManagedConfiguration}}.  This will:
> * Add all the missing features and logic.
> * Be simpler and presumably cheaper to maintain over trying to mirror the standard scripts.
> * Encourage better fidelity between managed containers and their production counterparts (e.g. identical {{CATALINA_BASE}} and {{CATALINA_HOME}} merging, as well as setenv script support).



--
This message was sent by Atlassian JIRA
(v6.3.1#6329)


More information about the arquillian-issues mailing list