Merge remote-tracking branch 'origin/master' into jetty-http2
This commit is contained in:
commit
23eba39748
|
@ -147,6 +147,13 @@ public interface Response
|
||||||
|
|
||||||
public interface AsyncContentListener extends ResponseListener
|
public interface AsyncContentListener extends ResponseListener
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Callback method invoked asynchronously when the response content has been received.
|
||||||
|
*
|
||||||
|
* @param response the response containing the response line data and the headers
|
||||||
|
* @param content the content bytes received
|
||||||
|
* @param callback the callback to call when the content is consumed.
|
||||||
|
*/
|
||||||
public void onContent(Response response, ByteBuffer content, Callback callback);
|
public void onContent(Response response, ByteBuffer content, Callback callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
|
||||||
|
<Configure id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection">
|
||||||
|
<Call name="addHandler">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.webapp.WebAppContext">
|
||||||
|
<Set name="contextPath">/hawtio</Set>
|
||||||
|
<Set name="war"><Property name="jetty.base" default="."/>/lib/hawtio/hawtio.war</Set>
|
||||||
|
<Set name="extractWAR">true</Set>
|
||||||
|
<Set name="copyWebDir">false</Set>
|
||||||
|
<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
</Configure>
|
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
|
||||||
|
<!-- =============================================================== -->
|
||||||
|
<!-- Mixin the Jamon Handler -->
|
||||||
|
<!-- =============================================================== -->
|
||||||
|
|
||||||
|
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
||||||
|
|
||||||
|
<Get id="oldhandler" name="handler" />
|
||||||
|
<Set name="handler">
|
||||||
|
<New id="JamonHandler" class="com.jamonapi.http.JAMonJettyHandlerNew">
|
||||||
|
<Set name="handler"><Ref refid="oldhandler" /></Set>
|
||||||
|
<Set name="summaryLabels"><Property name="jamon.summaryLabels" /></Set>
|
||||||
|
</New>
|
||||||
|
</Set>
|
||||||
|
|
||||||
|
<Ref refid="Contexts">
|
||||||
|
<Call name="addHandler">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.webapp.WebAppContext">
|
||||||
|
<Set name="contextPath">/jamon</Set>
|
||||||
|
<Set name="war"><Property name="jetty.base" default="."/>/lib/jamon/jamon.war</Set>
|
||||||
|
<Set name="extractWAR">true</Set>
|
||||||
|
<Set name="copyWebDir">false</Set>
|
||||||
|
<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
</Ref>
|
||||||
|
|
||||||
|
</Configure>
|
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
|
||||||
|
|
||||||
|
<Configure id="Server" class="org.eclipse.jetty.server.Server">
|
||||||
|
<Call name="addBean">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.jminix.console.tool.StandaloneMiniConsole">
|
||||||
|
<Arg type="int"><Property name="jminix.port" default="8088" /></Arg>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
</Configure>
|
|
@ -0,0 +1,16 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_0.dtd">
|
||||||
|
|
||||||
|
<Configure id="Contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection">
|
||||||
|
<Call name="addHandler">
|
||||||
|
<Arg>
|
||||||
|
<New class="org.eclipse.jetty.webapp.WebAppContext">
|
||||||
|
<Set name="contextPath">/jolokia</Set>
|
||||||
|
<Set name="war"><Property name="jetty.base" default="."/>/lib/jolokia/jolokia.war</Set>
|
||||||
|
<Set name="extractWAR">true</Set>
|
||||||
|
<Set name="copyWebDir">false</Set>
|
||||||
|
<Set name="defaultsDescriptor"><Property name="jetty.home" default="."/>/etc/webdefault.xml</Set>
|
||||||
|
</New>
|
||||||
|
</Arg>
|
||||||
|
</Call>
|
||||||
|
</Configure>
|
|
@ -0,0 +1,22 @@
|
||||||
|
#
|
||||||
|
# Hawtio x module
|
||||||
|
#
|
||||||
|
|
||||||
|
[depend]
|
||||||
|
stats
|
||||||
|
deploy
|
||||||
|
jmx
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/hawtio.xml
|
||||||
|
|
||||||
|
[files]
|
||||||
|
etc/hawtio/
|
||||||
|
lib/hawtio/
|
||||||
|
https://oss.sonatype.org/content/repositories/public/io/hawt/hawtio-default/1.4.16/hawtio-default-1.4.16.war|lib/hawtio/hawtio.war
|
||||||
|
|
||||||
|
[ini-template]
|
||||||
|
|
||||||
|
-Dhawtio.authenticationEnabled=false
|
||||||
|
-Dhawtio.dirname=/dirname
|
||||||
|
-Dhawtio.config.dir=${jetty.base}/etc/hawtio
|
|
@ -0,0 +1,25 @@
|
||||||
|
#
|
||||||
|
# JaMON Jetty module
|
||||||
|
#
|
||||||
|
|
||||||
|
[depend]
|
||||||
|
stats
|
||||||
|
deploy
|
||||||
|
jmx
|
||||||
|
jsp
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/jamon.xml
|
||||||
|
|
||||||
|
[files]
|
||||||
|
lib/jamon/
|
||||||
|
http://central.maven.org/maven2/com/jamonapi/jamon/2.79/jamon-2.79.jar|lib/jamon/jamon-2.79.jar
|
||||||
|
http://central.maven.org/maven2/com/jamonapi/jamon_war/2.79/jamon_war-2.79.war|lib/jamon/jamon.war
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
lib/jamon/**.jar
|
||||||
|
|
||||||
|
[ini-template]
|
||||||
|
jamon.summaryLabels=default, request.getStatus().contextpath.value.ms
|
||||||
|
#jamon.summaryLabels=demo
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
#
|
||||||
|
# JaMON Jetty module
|
||||||
|
#
|
||||||
|
|
||||||
|
[depend]
|
||||||
|
stats
|
||||||
|
jmx
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/jminix.xml
|
||||||
|
|
||||||
|
[files]
|
||||||
|
lib/jminix/
|
||||||
|
http://central.maven.org/maven2/org/jminix/jminix/1.1.0/jminix-1.1.0.jar|lib/jminix/jminix-1.1.0.jar
|
||||||
|
http://maven.restlet.com/org/restlet/org.restlet/1.1.5/org.restlet-1.1.5.jar|lib/jminix/org.restlet-1.1.5.jar
|
||||||
|
http://maven.restlet.com/org/restlet/org.restlet.ext.velocity/1.1.5/org.restlet.ext.velocity-1.1.5.jar|lib/jminix/org.restlet.ext.velocity-1.1.5.jar
|
||||||
|
http://central.maven.org/maven2/org/apache/velocity/velocity/1.5/velocity-1.5.jar|lib/jminix/velocity-1.5.jar
|
||||||
|
http://central.maven.org/maven2/oro/oro/2.0.8/oro-2.0.8.jar|lib/jminix/oro-2.0.8.jar
|
||||||
|
http://maven.restlet.com/com/noelios/restlet/com.noelios.restlet/1.1.5/com.noelios.restlet-1.1.5.jar|lib/jminix/com.noelios.restlet-1.1.5.jar
|
||||||
|
http://maven.restlet.com/com/noelios/restlet/com.noelios.restlet.ext.servlet/1.1.5/com.noelios.restlet.ext.servlet-1.1.5.jar|lib/jminix/com.noelios.restlet.ext.servlet-1.1.5.jar
|
||||||
|
http://central.maven.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar|lib/jminix/commons-logging-1.1.1.jar
|
||||||
|
http://repo2.maven.org/maven2/net/sf/json-lib/json-lib/2.2.3/json-lib-2.2.3-jdk15.jar|lib/jminix/json-lib-2.2.3-jdk15.jar
|
||||||
|
http://central.maven.org/maven2/commons-lang/commons-lang/2.4/commons-lang-2.4.jar|lib/jminix/commons-lang-2.4.jar
|
||||||
|
http://central.maven.org/maven2/commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar|lib/jminix/commons-beanutils-1.7.0.jar
|
||||||
|
http://central.maven.org/maven2/commons-collections/commons-collections/3.2/commons-collections-3.2.jar|lib/jminix/commons-collections-3.2.jar
|
||||||
|
http://central.maven.org/maven2/net/sf/ezmorph/ezmorph/1.0.6/ezmorph-1.0.6.jar|lib/jminix/ezmorph-1.0.6.jar
|
||||||
|
http://central.maven.org/maven2/org/jgroups/jgroups/2.12.1.3.Final/jgroups-2.12.1.3.Final.jar|lib/jminix/jgroups-2.12.1.3.Final.jar
|
||||||
|
http://central.maven.org/maven2/org/jasypt/jasypt/1.8/jasypt-1.8.jar|lib/jminix/jasypt-1.8.jar
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
lib/jminix/**.jar
|
||||||
|
|
||||||
|
[ini-template]
|
||||||
|
# Jminix Configuration
|
||||||
|
jminix.port=8088
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
#
|
||||||
|
# Jolokia Jetty module
|
||||||
|
#
|
||||||
|
|
||||||
|
[depend]
|
||||||
|
stats
|
||||||
|
deploy
|
||||||
|
jmx
|
||||||
|
|
||||||
|
[xml]
|
||||||
|
etc/jolokia.xml
|
||||||
|
|
||||||
|
[files]
|
||||||
|
http://repo1.maven.org/maven2/org/jolokia/jolokia-war/1.2.2/jolokia-war-1.2.2.war|lib/jolokia/jolokia.war
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
|
|
||||||
[depend]
|
[depend]
|
||||||
servlet
|
servlet
|
||||||
|
annotations
|
||||||
jsp-impl/${jsp-impl}-jsp
|
jsp-impl/${jsp-impl}-jsp
|
||||||
|
|
||||||
[ini-template]
|
[ini-template]
|
||||||
|
|
|
@ -773,7 +773,7 @@ public class SslConnection extends AbstractConnection
|
||||||
{
|
{
|
||||||
if (DEBUG)
|
if (DEBUG)
|
||||||
LOG.debug("{} renegotiation denied", SslConnection.this);
|
LOG.debug("{} renegotiation denied", SslConnection.this);
|
||||||
shutdownOutput();
|
getEndPoint().shutdownOutput();
|
||||||
return allConsumed;
|
return allConsumed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -176,18 +176,21 @@ public class CommandLineBuilder
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString()
|
public String toString()
|
||||||
|
{
|
||||||
|
return toString(" ");
|
||||||
|
}
|
||||||
|
|
||||||
|
public String toString(String delim)
|
||||||
{
|
{
|
||||||
StringBuilder buf = new StringBuilder();
|
StringBuilder buf = new StringBuilder();
|
||||||
|
|
||||||
boolean delim = false;
|
|
||||||
for (String arg : args)
|
for (String arg : args)
|
||||||
{
|
{
|
||||||
if (delim)
|
if (buf.length()>0)
|
||||||
{
|
{
|
||||||
buf.append(' ');
|
buf.append(delim);
|
||||||
}
|
}
|
||||||
buf.append(quote(arg));
|
buf.append(quote(arg));
|
||||||
delim = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return buf.toString();
|
return buf.toString();
|
||||||
|
|
|
@ -654,7 +654,7 @@ public class Main
|
||||||
if (args.isDryRun())
|
if (args.isDryRun())
|
||||||
{
|
{
|
||||||
CommandLineBuilder cmd = args.getMainArgs(baseHome,true);
|
CommandLineBuilder cmd = args.getMainArgs(baseHome,true);
|
||||||
System.out.println(cmd.toString());
|
System.out.println(cmd.toString(File.separatorChar=='/'?" \\\n":" "));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.isStopCommand())
|
if (args.isStopCommand())
|
||||||
|
|
|
@ -331,6 +331,7 @@ public class Modules implements Iterable<Module>
|
||||||
parentNames.addAll(module.getParentNames());
|
parentNames.addAll(module.getParentNames());
|
||||||
for(String name: parentNames)
|
for(String name: parentNames)
|
||||||
{
|
{
|
||||||
|
StartLog.debug("Enable parent '%s' of module: %s",name,module.getName());
|
||||||
Module parent = modules.get(name);
|
Module parent = modules.get(name);
|
||||||
if (parent == null)
|
if (parent == null)
|
||||||
{
|
{
|
||||||
|
@ -469,6 +470,7 @@ public class Modules implements Iterable<Module>
|
||||||
// load missing post-expanded dependent modules
|
// load missing post-expanded dependent modules
|
||||||
private void normalizeDependencies() throws FileNotFoundException, IOException
|
private void normalizeDependencies() throws FileNotFoundException, IOException
|
||||||
{
|
{
|
||||||
|
Set<String> expandedModules = new HashSet<>();
|
||||||
boolean done = false;
|
boolean done = false;
|
||||||
while (!done)
|
while (!done)
|
||||||
{
|
{
|
||||||
|
@ -479,26 +481,31 @@ public class Modules implements Iterable<Module>
|
||||||
{
|
{
|
||||||
for (String parent : m.getParentNames())
|
for (String parent : m.getParentNames())
|
||||||
{
|
{
|
||||||
if (modules.containsKey(parent) || missingModules.contains(parent))
|
String expanded = args.getProperties().expand(parent);
|
||||||
|
if (modules.containsKey(expanded) || missingModules.contains(parent) || expandedModules.contains(parent))
|
||||||
{
|
{
|
||||||
continue; // found. skip it.
|
continue; // found. skip it.
|
||||||
}
|
}
|
||||||
done = false;
|
done = false;
|
||||||
|
StartLog.debug("Missing parent module %s == %s for %s",parent,expanded,m);
|
||||||
missingParents.add(parent);
|
missingParents.add(parent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String missingParent : missingParents)
|
for (String missingParent : missingParents)
|
||||||
{
|
{
|
||||||
Path file = baseHome.getPath("modules/" + missingParent + ".mod");
|
String expanded = args.getProperties().expand(missingParent);
|
||||||
|
Path file = baseHome.getPath("modules/" + expanded + ".mod");
|
||||||
if (FS.canReadFile(file))
|
if (FS.canReadFile(file))
|
||||||
{
|
{
|
||||||
Module module = registerModule(file);
|
Module module = registerModule(file);
|
||||||
updateParentReferencesTo(module);
|
updateParentReferencesTo(module);
|
||||||
|
if (!expanded.equals(missingParent))
|
||||||
|
expandedModules.add(missingParent);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
StartLog.debug("Missing module definition: [ Mod: %s | File: %s ]",missingParent,file);
|
StartLog.debug("Missing module definition: %s == %s",missingParent,expanded);
|
||||||
missingModules.add(missingParent);
|
missingModules.add(missingParent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1212,13 +1212,13 @@ public class XmlConfiguration
|
||||||
// For all arguments, load properties
|
// For all arguments, load properties
|
||||||
for (String arg : args)
|
for (String arg : args)
|
||||||
{
|
{
|
||||||
if (arg.toLowerCase(Locale.ENGLISH).endsWith(".properties"))
|
if (arg.indexOf('=')>=0)
|
||||||
properties.load(Resource.newResource(arg).getInputStream());
|
|
||||||
else if (arg.indexOf('=')>=0)
|
|
||||||
{
|
{
|
||||||
int i=arg.indexOf('=');
|
int i=arg.indexOf('=');
|
||||||
properties.put(arg.substring(0,i),arg.substring(i+1));
|
properties.put(arg.substring(0,i),arg.substring(i+1));
|
||||||
}
|
}
|
||||||
|
else if (arg.toLowerCase(Locale.ENGLISH).endsWith(".properties"))
|
||||||
|
properties.load(Resource.newResource(arg).getInputStream());
|
||||||
}
|
}
|
||||||
|
|
||||||
// For all arguments, parse XMLs
|
// For all arguments, parse XMLs
|
||||||
|
|
Loading…
Reference in New Issue