jetty-start / removing --module= references in start.ini
+ making sure that demo.mod starts jetty appropriately. + making sure that --disable-module=demo works as advertised with jetty-distribution
This commit is contained in:
parent
29670845e7
commit
866a9c96d2
|
@ -12,12 +12,11 @@
|
|||
# Each line in this file is prepended to the command line
|
||||
# as arguments, which may be either:
|
||||
# + A property like: name=value
|
||||
# + A file of properties like: /etc/myjetty.properties
|
||||
# + A classpath option like: OPTION=jmx
|
||||
# + A module to enable like: --module=jmx
|
||||
# + An XML configuration file like: etc/jetty-feature.xml
|
||||
# + A start.jar option like: --dry-run
|
||||
#
|
||||
# If --exec or --exec-print are used, then this file may also
|
||||
# If --exec or --dry-run are used, then this file may also
|
||||
# contain lines with:
|
||||
# + A JVM option like: -Xmx2000m
|
||||
# + A System Property like: -Dcom.sun.management.jmxremote
|
||||
|
@ -27,14 +26,11 @@
|
|||
# NOTE: The lines in this file may be uncommented to activate
|
||||
# features. Alternately, the lines may be copied to a ini file
|
||||
# in the start.d directory to enabled configuration without
|
||||
# editing this file. See start.d/900-demo.ini for an example.
|
||||
# editing this file. See start.d/demo.ini for an example.
|
||||
#
|
||||
# Future releases will switch start.d style configuration for
|
||||
# all features.
|
||||
#===========================================================
|
||||
|
||||
|
||||
|
||||
#===========================================================
|
||||
# Configure JVM arguments.
|
||||
# If JVM args are include in an ini file then --exec is needed
|
||||
|
@ -59,7 +55,6 @@
|
|||
# -XX:+DisableExplicitGC
|
||||
# -Dorg.apache.jasper.compiler.disablejsr199=true
|
||||
|
||||
|
||||
#===========================================================
|
||||
# Default Server Options
|
||||
# Use the core server jars with websocket on the classpath
|
||||
|
@ -79,22 +74,15 @@ jetty.dump.stop=false
|
|||
# To enable remote JMX access uncomment jmxremote and
|
||||
# enable --exec
|
||||
#-----------------------------------------------------------
|
||||
--module=jmx
|
||||
# jetty.jmxrmihost=localhost
|
||||
# jetty.jmxrmiport=1099
|
||||
# -Dcom.sun.management.jmxremote
|
||||
|
||||
#===========================================================
|
||||
# Java Server Pages
|
||||
#-----------------------------------------------------------
|
||||
--module=jsp
|
||||
|
||||
#===========================================================
|
||||
# Request logger
|
||||
# Will add a handler to log all HTTP requests to a standard
|
||||
# request log format file.
|
||||
#-----------------------------------------------------------
|
||||
# --module=requestlog
|
||||
# requestlog.retain=90
|
||||
# requestlog.append=true
|
||||
# requestlog.extended=true
|
||||
|
@ -105,7 +93,6 @@ jetty.dump.stop=false
|
|||
# The following configuration will redirect stderr and stdout
|
||||
# to file which is rolled over daily.
|
||||
#-----------------------------------------------------------
|
||||
# --module=logging
|
||||
# jetty.log.retain=90
|
||||
|
||||
#===========================================================
|
||||
|
@ -113,17 +100,14 @@ jetty.dump.stop=false
|
|||
# The default user and group is 'jetty' and if you are
|
||||
# starting as root you must change the run privledged to true
|
||||
#-----------------------------------------------------------
|
||||
# --module=setuid
|
||||
# jetty.startServerAsPrivileged=false
|
||||
# jetty.username=jetty
|
||||
# jetty.groupname=jetty
|
||||
# jetty.umask=002
|
||||
|
||||
|
||||
#===========================================================
|
||||
# HTTP Connector
|
||||
#-----------------------------------------------------------
|
||||
--module=http
|
||||
jetty.port=8080
|
||||
http.timeout=30000
|
||||
|
||||
|
@ -143,72 +127,22 @@ http.timeout=30000
|
|||
|
||||
#===========================================================
|
||||
# HTTPS Connector
|
||||
# Must be used with jetty-ssl.xml
|
||||
#-----------------------------------------------------------
|
||||
--module=https
|
||||
# jetty.https.port=8443
|
||||
|
||||
|
||||
#===========================================================
|
||||
# NPN Next Protocol Negotiation
|
||||
#
|
||||
# The SPDY and HTTP/2.0 connectors require NPN. The jar for
|
||||
# NPN cannot be downloaded from eclipse. So the --download
|
||||
# option is used to install the NPN jar if it does not already
|
||||
# exist
|
||||
#
|
||||
#-----------------------------------------------------------
|
||||
# --exec
|
||||
# --download=http://repo1.maven.org/maven2/org/mortbay/jetty/npn/npn-boot/1.1.5.v20130313/npn-boot-1.1.5.v20130313.jar:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||
# -Xbootclasspath/p:lib/npn/npn-boot-1.1.5.v20130313.jar
|
||||
|
||||
|
||||
#===========================================================
|
||||
# SPDY Connector
|
||||
# Requires SSL Context and NPN from above
|
||||
#-----------------------------------------------------------
|
||||
# --module=spdy
|
||||
# jetty.spdy.port=8443
|
||||
|
||||
|
||||
#===========================================================
|
||||
# Webapplication Deployer
|
||||
#-----------------------------------------------------------
|
||||
--module=deploy
|
||||
|
||||
# ===========================================================
|
||||
# Enable JAAS
|
||||
# JAAS
|
||||
# -----------------------------------------------------------
|
||||
# --module=jaas
|
||||
# jaas.login.conf=etc/login.conf
|
||||
|
||||
# ===========================================================
|
||||
# Enable JNDI
|
||||
# -----------------------------------------------------------
|
||||
# --module=jndi
|
||||
|
||||
# ===========================================================
|
||||
# Enable additional webapp environment configurators
|
||||
# -----------------------------------------------------------
|
||||
# --module=plus
|
||||
|
||||
# ===========================================================
|
||||
# Enable servlet 3.1 annotations
|
||||
# -----------------------------------------------------------
|
||||
# --module=annotations
|
||||
|
||||
#===========================================================
|
||||
# Other server features
|
||||
#-----------------------------------------------------------
|
||||
# --module=debug
|
||||
# --module=ipaccess
|
||||
# --module=stats
|
||||
|
||||
|
||||
#===========================================================
|
||||
# Low resource managment
|
||||
#-----------------------------------------------------------
|
||||
# --module=lowresources
|
||||
# lowresources.period=1050
|
||||
# lowresources.lowResourcesIdleTimeout=200
|
||||
# lowresources.monitorThreads=true
|
||||
|
@ -216,5 +150,3 @@ http.timeout=30000
|
|||
# lowresources.maxMemory=0
|
||||
# lowresources.maxLowResourcesTime=5000
|
||||
|
||||
--module=webapp
|
||||
|
||||
|
|
|
@ -39,7 +39,13 @@ public class ModulePersistence extends TextFile
|
|||
|
||||
public boolean disableModule(StartArgs args, String moduleName) throws IOException
|
||||
{
|
||||
// capture of what modules were disabled by this action
|
||||
List<String> modulesThatWereDisabled = new ArrayList<>();
|
||||
// capture of what modules were automatically enabled by this action
|
||||
// this list can occur if you attempt to disable a leaf node, the parent nodes
|
||||
// of that leaf would then become enabled
|
||||
List<String> modulesThatWereEnabled = new ArrayList<>();
|
||||
// set of child modules that should be disabled by this action
|
||||
Set<String> resolvedModulesToDisable = args.getAllModules().resolveChildModulesOf(moduleName);
|
||||
|
||||
// Show user what could be disabled
|
||||
|
@ -61,6 +67,28 @@ public class ModulePersistence extends TextFile
|
|||
}
|
||||
|
||||
// Do the disabling
|
||||
|
||||
// Step 1: set parent modules to enabled.
|
||||
// This is to handle the case where the leaf is disabled, you still
|
||||
// want the branch itself to be active upto the step before that leaf
|
||||
Modules modules = args.getAllModules();
|
||||
Module leaf = modules.get(moduleName);
|
||||
// no children, this is a leaf
|
||||
if (leaf.getChildEdges().size() <= 0)
|
||||
{
|
||||
// mark all parents as enabled
|
||||
List<String> sources = new ArrayList<>();
|
||||
sources.add("<module-persistence>");
|
||||
for (Module parent : leaf.getParentEdges())
|
||||
{
|
||||
parent.setEnabled(true);
|
||||
parent.addSources(sources);
|
||||
addUniqueLine(parent.getName());
|
||||
modulesThatWereEnabled.add(parent.getName());
|
||||
}
|
||||
}
|
||||
|
||||
// Step 2: mark the leaf nodes disabled
|
||||
ListIterator<String> iter = super.listIterator();
|
||||
while (iter.hasNext())
|
||||
{
|
||||
|
@ -85,9 +113,14 @@ public class ModulePersistence extends TextFile
|
|||
}
|
||||
return true;
|
||||
}
|
||||
else if (modulesThatWereEnabled.size() > 0)
|
||||
{
|
||||
System.out.printf("Module %s was has been effectively disabled.%n",moduleName);
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.printf("Module %s not found, nothing actually disabled.%n",moduleName);
|
||||
System.out.printf("Module %s not found, no changes made to module persistence.%n",moduleName);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
@ -137,7 +170,7 @@ public class ModulePersistence extends TextFile
|
|||
File file = getFile();
|
||||
File parent = file.getParentFile();
|
||||
FS.ensureDirectoryExists(parent);
|
||||
|
||||
|
||||
try (FileWriter writer = new FileWriter(file,false))
|
||||
{
|
||||
for (String line : getLines())
|
||||
|
|
|
@ -228,11 +228,11 @@ public class Modules implements Iterable<Module>
|
|||
err.append("The following ");
|
||||
if (enabled.size() > 1)
|
||||
{
|
||||
err.append(enabled.size()).append(" modules");
|
||||
err.append(enabled.size()).append("modules");
|
||||
}
|
||||
else
|
||||
{
|
||||
err.append(" module");
|
||||
err.append("module");
|
||||
}
|
||||
err.append(", defined outside of the module persistence mechanism, ");
|
||||
if (enabled.size() > 1)
|
||||
|
|
|
@ -99,7 +99,7 @@ public class ModulePersistenceTest
|
|||
|
||||
// Load persistence file again
|
||||
persistence = new ModulePersistence(mfile);
|
||||
Assert.assertThat("persistence.enabled",persistence.getEnabled(),containsInAnyOrder("websocket"));
|
||||
Assert.assertThat("persistence.enabled",persistence.getEnabled(),containsInAnyOrder("server","websocket"));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
@ -8,6 +8,7 @@ DEPEND=rewrite
|
|||
DEPEND=client
|
||||
DEPEND=annotations
|
||||
DEPEND=websocket
|
||||
DEPEND=webapp
|
||||
|
||||
LIB=demo/lib/*.jar
|
||||
|
||||
|
|
|
@ -8,6 +8,7 @@ DEPEND=rewrite
|
|||
DEPEND=client
|
||||
DEPEND=annotations
|
||||
DEPEND=websocket
|
||||
DEPEND=deploy
|
||||
|
||||
LIB=demo/lib/*.jar
|
||||
|
||||
|
|
Loading…
Reference in New Issue