Skip to main content

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

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


Back to the top