From e3d380bb7d09b978ba0b57362ec9893c4cc252ff Mon Sep 17 00:00:00 2001 From: Greg Wilkins Date: Thu, 12 Mar 2015 13:41:18 +1100 Subject: 461941 JMX Remote host:port set from start properties --- .../org/eclipse/jetty/embedded/ServerWithJMX.java | 56 ++++++++++++++++++++++ jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml | 22 +++++---- 2 files changed, 68 insertions(+), 10 deletions(-) create mode 100644 examples/embedded/src/main/java/org/eclipse/jetty/embedded/ServerWithJMX.java diff --git a/examples/embedded/src/main/java/org/eclipse/jetty/embedded/ServerWithJMX.java b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/ServerWithJMX.java new file mode 100644 index 0000000000..79d2a5fe28 --- /dev/null +++ b/examples/embedded/src/main/java/org/eclipse/jetty/embedded/ServerWithJMX.java @@ -0,0 +1,56 @@ +// +// ======================================================================== +// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd. +// ------------------------------------------------------------------------ +// All rights reserved. This program and the accompanying materials +// are made available under the terms of the Eclipse Public License v1.0 +// and Apache License v2.0 which accompanies this distribution. +// +// The Eclipse Public License is available at +// http://www.eclipse.org/legal/epl-v10.html +// +// The Apache License v2.0 is available at +// http://www.opensource.org/licenses/apache2.0.php +// +// You may elect to redistribute this code under either of these licenses. +// ======================================================================== +// + +package org.eclipse.jetty.embedded; + +import java.lang.management.ManagementFactory; + +import javax.management.remote.JMXServiceURL; + +import org.eclipse.jetty.jmx.ConnectorServer; +import org.eclipse.jetty.jmx.MBeanContainer; +import org.eclipse.jetty.server.Server; + +/** + * The simplest possible Jetty server. + */ +public class ServerWithJMX +{ + public static void main( String[] args ) throws Exception + { + // === jetty-jmx.xml === + MBeanContainer mbContainer = new MBeanContainer( + ManagementFactory.getPlatformMBeanServer()); + + Server server = new Server(8080); + server.addBean(mbContainer); + + ConnectorServer jmx = new ConnectorServer( + new JMXServiceURL( + "rmi", + null, + 1999, + "/jndi/rmi://localhost:1999/jmxrmi"), + "org.eclipse.jetty.jmx:name=rmiconnectorserver"); + server.addBean(jmx); + + server.start(); + server.dumpStdErr(); + server.join(); + } +} diff --git a/jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml b/jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml index 20a2dda239..3527d8b375 100644 --- a/jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml +++ b/jetty-jmx/src/main/config/etc/jetty-jmx-remote.xml @@ -11,17 +11,19 @@ the RMI registry hostname and port number, that may need to be modified in order to comply with the firewall requirements. --> - + - - rmi - - - /jndi/rmi://:/jmxrmi + + + + rmi + + + /jndi/rmi://:/jmxrmi + + + org.eclipse.jetty.jmx:name=rmiconnectorserver - org.eclipse.jetty.jmx:name=rmiconnectorserver - - + - -- cgit v1.2.3 From afa926d45defb451aeb368eb9546cd4d5604867e Mon Sep 17 00:00:00 2001 From: Jan Bartel Date: Thu, 12 Mar 2015 18:51:05 +1100 Subject: 461919 - Use osgi-friendly serviceloader mechanism for WebSocketServletFactory --- .../jetty/osgi/test/TestJettyOSGiBootCore.java | 4 ++-- jetty-websocket/websocket-server/pom.xml | 20 ++++++++++++++++++++ jetty-websocket/websocket-servlet/pom.xml | 1 + 3 files changed, 23 insertions(+), 2 deletions(-) diff --git a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java index ac4eb4afca..8f74dc3a66 100644 --- a/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java +++ b/jetty-osgi/test-jetty-osgi/src/test/java/org/eclipse/jetty/osgi/test/TestJettyOSGiBootCore.java @@ -110,8 +110,8 @@ public class TestJettyOSGiBootCore res.add(mavenBundle().groupId( "org.eclipse.jetty" ).artifactId( "jetty-annotations" ).versionAsInProject().start()); res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-api" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-common" ).versionAsInProject().noStart()); - res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-servlet" ).versionAsInProject().noStart()); - res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-server" ).versionAsInProject().noStart()); + res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-servlet" ).versionAsInProject()); + res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-server" ).versionAsInProject()); res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "websocket-client" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "javax.websocket" ).artifactId( "javax.websocket-api" ).versionAsInProject().noStart()); res.add(mavenBundle().groupId( "org.eclipse.jetty.websocket" ).artifactId( "javax-websocket-client-impl").versionAsInProject().noStart()); diff --git a/jetty-websocket/websocket-server/pom.xml b/jetty-websocket/websocket-server/pom.xml index 5cc95c078e..062a326bbc 100644 --- a/jetty-websocket/websocket-server/pom.xml +++ b/jetty-websocket/websocket-server/pom.xml @@ -16,6 +16,26 @@ + + org.apache.felix + maven-bundle-plugin + true + + + generate-manifest + + manifest + + + + osgi.extender; filter:="(osgi.extender=osgi.serviceloader.registrar)" + osgi.serviceloader; osgi.serviceloader=org.eclipse.jetty.websocket.servlet.WebSocketServletFactory + <_nouses>true + + + + + org.apache.maven.plugins maven-jar-plugin diff --git a/jetty-websocket/websocket-servlet/pom.xml b/jetty-websocket/websocket-servlet/pom.xml index 48c8b52886..98822255ca 100644 --- a/jetty-websocket/websocket-servlet/pom.xml +++ b/jetty-websocket/websocket-servlet/pom.xml @@ -42,6 +42,7 @@ <_nouses>true org.eclipse.jetty.websocket.server.*;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}",org.eclipse.jetty.websocket.server.pathmap.*;version="${parsedVersion.majorVersion}.${parsedVersion.minorVersion}" + osgi.serviceloader; filter:="(osgi.serviceloader=org.eclipse.jetty.websocket.servlet.WebSocketServletFactory)";cardinality:=multiple, osgi.extender; filter:="(osgi.extender=osgi.serviceloader.processor)" -- cgit v1.2.3 From 4a4131750195cc27c23ac417df4bde55a2a79c13 Mon Sep 17 00:00:00 2001 From: Joakim Erdfelt Date: Fri, 13 Mar 2015 13:35:04 -0700 Subject: 459273 - Redundant license notices + Adding missing .hasFiles() check in download path. --- .../main/java/org/eclipse/jetty/start/Main.java | 2 +- .../java/org/eclipse/jetty/start/LicenseTest.java | 27 ++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java b/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java index d2b183ceef..9f2de829a0 100644 --- a/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java +++ b/jetty-start/src/main/java/org/eclipse/jetty/start/Main.java @@ -721,7 +721,7 @@ public class Main { for (Module module : args.getAllModules().resolveEnabled()) { - if (!module.acknowledgeLicense()) + if (!module.hasFiles(baseHome) && !module.acknowledgeLicense()) { StartLog.warn(EXITING_LICENSE_NOT_ACKNOWLEDGED); System.exit(1); diff --git a/jetty-start/src/test/java/org/eclipse/jetty/start/LicenseTest.java b/jetty-start/src/test/java/org/eclipse/jetty/start/LicenseTest.java index d7fc0580aa..5422aa169c 100644 --- a/jetty-start/src/test/java/org/eclipse/jetty/start/LicenseTest.java +++ b/jetty-start/src/test/java/org/eclipse/jetty/start/LicenseTest.java @@ -58,6 +58,7 @@ public class LicenseTest int len = cmds.size(); String args[] = cmds.toArray(new String[len]); + System.err.printf("%n## Exec: %s%n", Main.join(cmds,", ")); Main main = new Main(); StartArgs startArgs = main.processCommandLine(args); main.start(startArgs); @@ -115,6 +116,32 @@ public class LicenseTest assertThat("Contents",contents,containsString("--module=spdy"+System.lineSeparator())); } + @Test + public void testAdd_HttpSpdy_Then_Deploy() throws Exception + { + File basePath = testdir.getEmptyDir(); + + List cmds = getBaseCommandLine(basePath); + + cmds.add("-Dorg.eclipse.jetty.start.ack.license.protonego-impl=true"); + cmds.add("--add-to-start=http,spdy"); + + execMain(cmds); + + String contents = assertFileExists(basePath, "start.ini"); + assertThat("Contents",contents,containsString("--module=http"+System.lineSeparator())); + assertThat("Contents",contents,containsString("--module=spdy"+System.lineSeparator())); + + // now request deploy (no license check should occur) + List cmds2 = getBaseCommandLine(basePath); + cmds2.add("--add-to-start=deploy"); + execMain(cmds2); + + contents = assertFileExists(basePath, "start.ini"); + assertThat("Contents",contents,containsString("--module=deploy"+System.lineSeparator())); + assertThat("Contents",contents,containsString("--module=spdy"+System.lineSeparator())); + } + @Test public void testCreate_SPDY_Licensed() throws Exception { -- cgit v1.2.3