Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-dev] Updates on /jetty-start-enhancement/ branch ..

Joakim,

these mods all look very worthwhile - and the help text will be very
useful since we have changed start.jar a little bit since jetty-6 anyway.

So I think our first two RCs have been a little premature as we had
some configuration changes from Jan checked in this week.    The
next RC will be more a real RC as I would expect no functional
change after that.

Thus as your stuff is backwards compatible, I think it is safe to
have it merged now so it can be part of 7.0.0

cheers



Joakim Erdfelt wrote:
> Just a quick update on an experimental branch for enhancements to the
> /jetty-start/ module.
> 
> The focus on this branch was to enhance testing, add options for
> information gathering, lay framework for jvm security manager
> integration.
> Great care was taken to maintain the existing command line usage of
> the original start.jar. (so old scripts and such will continue to
> work)
> 
> The big changes:
> 
> 1) Refactored out the start.config handling to make it easier to test
> and maintain.
> 2) Added unit testing to start.config and classpath manipulation.
> 3) Beefed up usage text
> 4) Enhanced --info command line option to dump classpath entries in
> order as they are defined, for the OPTIONS specified, along with
> internal versions of those classpath entries.
> 5) Added --list-modes option to show all of the modes available for
> OPTIONS usage, along with resolved entries for each entry.
> 6) Added --exec-print option to dump the full command line for
> scripting and integration reasons.
> 7) Added --secure option to turn on various jvm security manager
> options as well as to enable various audit logging features. (off by
> default)
> 
> I welcome comments, suggestions on improvements, etc ...
> 
> Since we are on the RC# series for 7.0.0 now, I'm not really expecting
> this to be merged in (as it isn't in the spirit of an RC).
> However, a 7.0.1 or the like would be a good candidate, no?
> 
> .\ Example of Usage Text \._____________________________________________
> 
> Usage: java -jar start.jar [options] [properties] [configs]
> Run Jetty Server Standalone.
> 
> Common Options:
>   --help           This help / usage information.
>   --version        Print the version information for Jetty, then exit.
>   --stop           Stop the running Jetty instance.
> 
> Advanced Options:
>   --secure         Enable Security:
>                      * JVM Security Manager
>                      * Security Policies
>                      * Secure Logging
>                      * Audit Logging
>   --exec-print     Print the command line that the start.jar uses to start
>                    jetty, then exit.
>                    (useful in shell scripts)
>   --list-modes     List available classpath mode options, then exit.
>                    (see OPTION property in section below)
> 
> Properties:
> Execution properties, similar in scope to JVM Properties.
> NOTE: Not all properties are listed here.
>   org.eclipse.jetty.util.log.class=[class]
>       A Low Level Jetty Logger Implementation to use
>       (default: org.eclipse.jetty.util.log.Slf4jLog)
>   org.eclipse.jetty.util.log.DEBUG=[boolean]
>       Debug logs will be produced, along with the default logging levels of
>       INFO, WARN, and ERROR
>       (default: false)
>   org.eclipse.jetty.util.log.VERBOSE=[boolean]
>       Verbose logging is produced, including ignored exceptions
>       (default: false)
>   org.eclipse.jetty.util.log.IGNORED=[boolean]
>       Ignored exceptions are logged, independent of DEBUG and VERBOSE settings
>       (default: false)
>   STOP.PORT=[number]
>       The port to use to stop the running Jetty server.
>       Required along with STOP.KEY if you want to use the --stop option above.
>   STOP.KEY=[alphanumeric]
>       The passphrase defined to stop the server.
>       Requried along with STOP.PORT if you want to use the --stop option above.
>   OPTIONS=[mode,mode,...]
>       Classpath Options to use.  Eg: All, Server, jmx, webapp, plus, etc...
>       (default: "default,*")
>       Available OPTIONS:
>          []
>          [*]
>          [All]
>          [Server]
>          [ajp]
>          [annotations]
>          [client]
>          [default]
>          [deploy]
>          [ext]
>          [jmx]
>          [jsp]
>          [jsp-2.1]
>          [plus]
>          [resources]
>          [rewrite]
>          [secure]
>          [security]
>          [server]
>          [servlet]
>          [servlets]
>          [slf4j]
>          [webapp]
>          [xml]
> 
> Configs:
> XML Configurations to use.
>     Configurations Available in ${jetty.home}/etc/:
>          etc/jetty-ajp.xml
>          etc/jetty-bio-ssl.xml
>          etc/jetty-bio.xml
>          etc/jetty-jmx.xml
>          etc/jetty-logging.xml
>          etc/jetty-plus.xml
>          etc/jetty-proxy.xml
>          etc/jetty-rewrite.xml
>          etc/jetty-ssl.xml
>          etc/jetty-stats.xml
>          etc/jetty-xinetd.xml
>          etc/jetty.xml
> 
> .\ Example of --list-modes \._____________________________________________
> 
> There are 24 OPTION modes available to use.
> Each mode is listed along with associated available classpath entries,
>  in the order that they would appear from that mo
> de.
> Note: If using multiple modes (eg: 'Server,servlet,webapp,jms,jmx')
> then overlapping entries will not be repeated in the
>  eventual classpath.
> 
> ${jetty.home} = /home/joakim/java/jetty/jetty-distribution-7.0.0.RC1-SNAPSHOT
> 
> GLOBAL Mode (Prepended Entries)
> -------------------------------------------------------------
> Empty mode, no classpath entries active.
> 
> GLOBAL Mode (Appended Entries) (*)
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-util-7.0.0.RC1-SNAPSHOT.jar
>  1:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-io-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [ajp]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-ajp-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [All] (Aggregate)
> -------------------------------------------------------------
>  0:                (dir) | ${jetty.home}/resources
>  1:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-xml-7.0.0.RC1-SNAPSHOT.jar
>  2:                  2.5 | ${jetty.home}/lib/servlet-api-2.5.jar
>  3:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-http-7.0.0.RC1-SNAPSHOT.jar
>  4:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-continuation-7.0.0.RC1-SNAPSHOT.jar
>  5:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-server-7.0.0.RC1-SNAPSHOT.jar
>  6:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-security-7.0.0.RC1-SNAPSHOT.jar
>  7:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlet-7.0.0.RC1-SNAPSHOT.jar
>  8:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-webapp-7.0.0.RC1-SNAPSHOT.jar
>  9:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-deploy-7.0.0.RC1-SNAPSHOT.jar
> 10:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlets-7.0.0.RC1-SNAPSHOT.jar
> 11:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-rewrite-7.0.0.RC1-SNAPSHOT.jar
> 12:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-jmx-7.0.0.RC1-SNAPSHOT.jar
> 13:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-ajp-7.0.0.RC1-SNAPSHOT.jar
> 14:                1.5.6 | ${jetty.home}/lib/slf4j/jcl104-over-slf4j-1.5.6.jar
> 15:                1.5.6 | ${jetty.home}/lib/slf4j/slf4j-api-1.5.6.jar
> 16:                1.5.6 | ${jetty.home}/lib/slf4j/slf4j-simple-1.5.6.jar
> 17:                1.6.5 | ${jetty.home}/lib/jsp-2.1/ant-1.6.5.jar
> 18:                3.1.1 | ${jetty.home}/lib/jsp-2.1/core-3.1.1.jar
> 19:        9.1.1.B6025p1 |
> ${jetty.home}/lib/jsp-2.1/jsp-2.1-glassfish-9.1.1.B60.25.p1.jar
> 20:                  2.1 |
> ${jetty.home}/lib/jsp-2.1/jsp-api-2.1-glassfish-9.1.1.B60.25.p1.jar
> 21:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-jndi-7.0.0.RC1-SNAPSHOT.jar
> 22:                  1.1 | ${jetty.home}/lib/jetty-jndi/activation-1.1.jar
> 23:                  1.4 | ${jetty.home}/lib/jetty-jndi/mail-1.4.jar
> 24:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-plus-7.0.0.RC1-SNAPSHOT.jar
> 25:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-annotations-7.0.0.RC1-SNAPSHOT.jar
> 26:                  3.1 | ${jetty.home}/lib/jetty-annotations/asm-3.1.jar
> 27:                  3.1 |
> ${jetty.home}/lib/jetty-annotations/asm-commons-3.1.jar
> 28:                  3.1 | ${jetty.home}/lib/jetty-annotations/asm-tree-3.1.jar
> 29:                1.1.1 |
> ${jetty.home}/lib/jetty-annotations/geronimo-annotation_1.0_spec-1.1.1.jar
> 30:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-client-7.0.0.RC1-SNAPSHOT.jar
> 31:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/security/jetty-policy-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [annotations]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-annotations-7.0.0.RC1-SNAPSHOT.jar
>  1:                  3.1 | ${jetty.home}/lib/jetty-annotations/asm-3.1.jar
>  2:                  3.1 |
> ${jetty.home}/lib/jetty-annotations/asm-commons-3.1.jar
>  3:                  3.1 | ${jetty.home}/lib/jetty-annotations/asm-tree-3.1.jar
>  4:                1.1.1 |
> ${jetty.home}/lib/jetty-annotations/geronimo-annotation_1.0_spec-1.1.1.jar
> 
> Mode [client]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-client-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [default]
> -------------------------------------------------------------
>  0:                (dir) | ${jetty.home}/resources
>  1:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-xml-7.0.0.RC1-SNAPSHOT.jar
>  2:                  2.5 | ${jetty.home}/lib/servlet-api-2.5.jar
>  3:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-http-7.0.0.RC1-SNAPSHOT.jar
>  4:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-continuation-7.0.0.RC1-SNAPSHOT.jar
>  5:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-server-7.0.0.RC1-SNAPSHOT.jar
>  6:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-security-7.0.0.RC1-SNAPSHOT.jar
>  7:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlet-7.0.0.RC1-SNAPSHOT.jar
>  8:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-webapp-7.0.0.RC1-SNAPSHOT.jar
>  9:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-deploy-7.0.0.RC1-SNAPSHOT.jar
> 10:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlets-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [deploy]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-deploy-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [ext]
> -------------------------------------------------------------
> Empty mode, no classpath entries active.
> 
> Mode [jmx]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-jmx-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [jsp]
> -------------------------------------------------------------
>  0:                1.6.5 | ${jetty.home}/lib/jsp-2.1/ant-1.6.5.jar
>  1:                3.1.1 | ${jetty.home}/lib/jsp-2.1/core-3.1.1.jar
>  2:        9.1.1.B6025p1 |
> ${jetty.home}/lib/jsp-2.1/jsp-2.1-glassfish-9.1.1.B60.25.p1.jar
>  3:                  2.1 |
> ${jetty.home}/lib/jsp-2.1/jsp-api-2.1-glassfish-9.1.1.B60.25.p1.jar
> 
> Mode [jsp-2.1]
> -------------------------------------------------------------
>  0:                1.6.5 | ${jetty.home}/lib/jsp-2.1/ant-1.6.5.jar
>  1:                3.1.1 | ${jetty.home}/lib/jsp-2.1/core-3.1.1.jar
>  2:        9.1.1.B6025p1 |
> ${jetty.home}/lib/jsp-2.1/jsp-2.1-glassfish-9.1.1.B60.25.p1.jar
>  3:                  2.1 |
> ${jetty.home}/lib/jsp-2.1/jsp-api-2.1-glassfish-9.1.1.B60.25.p1.jar
> 
> Mode [plus]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-jndi-7.0.0.RC1-SNAPSHOT.jar
>  1:                  1.1 | ${jetty.home}/lib/jetty-jndi/activation-1.1.jar
>  2:                  1.4 | ${jetty.home}/lib/jetty-jndi/mail-1.4.jar
>  3:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-plus-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [resources]
> -------------------------------------------------------------
>  0:                (dir) | ${jetty.home}/resources
> 
> Mode [rewrite]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-rewrite-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [secure]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/security/jetty-policy-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [security]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-security-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [server]
> -------------------------------------------------------------
>  0:                  2.5 | ${jetty.home}/lib/servlet-api-2.5.jar
>  1:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-http-7.0.0.RC1-SNAPSHOT.jar
>  2:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-continuation-7.0.0.RC1-SNAPSHOT.jar
>  3:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-server-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [Server] (Aggregate)
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-xml-7.0.0.RC1-SNAPSHOT.jar
>  1:                  2.5 | ${jetty.home}/lib/servlet-api-2.5.jar
>  2:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-http-7.0.0.RC1-SNAPSHOT.jar
>  3:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-continuation-7.0.0.RC1-SNAPSHOT.jar
>  4:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-server-7.0.0.RC1-SNAPSHOT.jar
>  5:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-security-7.0.0.RC1-SNAPSHOT.jar
>  6:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlet-7.0.0.RC1-SNAPSHOT.jar
>  7:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-webapp-7.0.0.RC1-SNAPSHOT.jar
>  8:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-deploy-7.0.0.RC1-SNAPSHOT.jar
>  9:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlets-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [servlet]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlet-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [servlets]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlets-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [slf4j]
> -------------------------------------------------------------
>  0:                1.5.6 | ${jetty.home}/lib/slf4j/jcl104-over-slf4j-1.5.6.jar
>  1:                1.5.6 | ${jetty.home}/lib/slf4j/slf4j-api-1.5.6.jar
>  2:                1.5.6 | ${jetty.home}/lib/slf4j/slf4j-simple-1.5.6.jar
> 
> Mode [webapp]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-webapp-7.0.0.RC1-SNAPSHOT.jar
> 
> Mode [xml]
> -------------------------------------------------------------
>  0:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-xml-7.0.0.RC1-SNAPSHOT.jar
> 
> .\ Example of --info \._____________________________________________
> 
> Active Options: [default, servlet, server, webapp, jmx, default,
> servlet, server, webapp, jmx]
> Version Information on 14 entries in the classpath.
> Note: order presented here is how they would appear on the classpath.
>       changes to the OPTIONS=[mode,mode,...] command line option will
> be reflected here.
>  0:                (dir) | ${jetty.home}/resources
>  1:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-xml-7.0.0.RC1-SNAPSHOT.jar
>  2:                  2.5 | ${jetty.home}/lib/servlet-api-2.5.jar
>  3:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-http-7.0.0.RC1-SNAPSHOT.jar
>  4:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-continuation-7.0.0.RC1-SNAPSHOT.jar
>  5:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-server-7.0.0.RC1-SNAPSHOT.jar
>  6:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-security-7.0.0.RC1-SNAPSHOT.jar
>  7:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlet-7.0.0.RC1-SNAPSHOT.jar
>  8:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-webapp-7.0.0.RC1-SNAPSHOT.jar
>  9:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-deploy-7.0.0.RC1-SNAPSHOT.jar
> 10:   7.0.0.RC1-SNAPSHOT |
> ${jetty.home}/lib/jetty-servlets-7.0.0.RC1-SNAPSHOT.jar
> 11:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-jmx-7.0.0.RC1-SNAPSHOT.jar
> 12:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-util-7.0.0.RC1-SNAPSHOT.jar
> 13:   7.0.0.RC1-SNAPSHOT | ${jetty.home}/lib/jetty-io-7.0.0.RC1-SNAPSHOT.jar
> 
> 
> ---
> Joakim Erdfelt / joakim@xxxxxxxxxxx
> _______________________________________________
> jetty-dev mailing list
> jetty-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/jetty-dev



Back to the top