https://issues.apache.org/activemq/browse/AMQ-2600 - jetty 7 initial commit - web console working, need more work on enabling other apps

git-svn-id: https://svn.apache.org/repos/asf/activemq/trunk@908136 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Bosanac Dejan 2010-02-09 18:07:38 +00:00
parent a109a98442
commit e8a06c43bb
20 changed files with 148 additions and 134 deletions

View File

@ -34,11 +34,11 @@
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty-version}</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<connector implementation="org.eclipse.jetty.nio.SelectChannelConnector">
<port>${jetty.port}</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
@ -90,8 +90,8 @@
<!-- web container -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
</dependency>
<!-- used for testing -->

View File

@ -27,7 +27,7 @@ import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletRequestWrapper;
import org.mortbay.log.Log;
import org.eclipse.jetty.util.log.Log;
public class FilenameGuardFilter implements Filter {

View File

@ -36,9 +36,9 @@ import javax.servlet.UnavailableException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.mortbay.log.Log;
import org.mortbay.util.IO;
import org.mortbay.util.URIUtil;
import org.eclipse.jetty.util.IO;
import org.eclipse.jetty.util.URIUtil;
import org.eclipse.jetty.util.log.Log;
/**
* <p>

View File

@ -25,7 +25,7 @@ import java.net.URL;
import junit.framework.TestCase;
import org.mortbay.util.IO;
import org.eclipse.jetty.util.IO;
public class RestFilterTest extends TestCase {

View File

@ -86,8 +86,13 @@
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-webapp</artifactId>
<version>${jetty-version}</version>
</dependency>
<dependency>

View File

@ -16,10 +16,10 @@
*/
package org.apache.activemq.tool;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.bio.SocketConnector;
import org.mortbay.jetty.webapp.WebAppContext;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.bio.SocketConnector;
import org.eclipse.jetty.webapp.WebAppContext;
/**
* @version $Revision$

View File

@ -18,10 +18,10 @@ package org.apache.activemq.transport.discovery.http;
import java.net.URI;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.servlet.Context;
import org.mortbay.jetty.servlet.ServletHolder;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.servlet.ServletContextHandler;
public class EmbeddedJettyServer implements org.apache.activemq.Service {
@ -34,7 +34,7 @@ public class EmbeddedJettyServer implements org.apache.activemq.Service {
URI uri = new URI(agent.getRegistryURL());
server = new Server();
Context context = new Context(Context.NO_SECURITY | Context.NO_SESSIONS);
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.NO_SECURITY | ServletContextHandler.NO_SESSIONS);
context.setContextPath("/");
ServletHolder holder = new ServletHolder();

View File

@ -24,14 +24,14 @@ import org.apache.activemq.transport.TransportServerSupport;
import org.apache.activemq.transport.util.TextWireFormat;
import org.apache.activemq.transport.xstream.XStreamWireFormat;
import org.apache.activemq.util.ServiceStopper;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.bio.SocketConnector;
import org.mortbay.jetty.handler.ContextHandler;
import org.mortbay.jetty.servlet.ServletHandler;
import org.mortbay.jetty.servlet.ServletHolder;
import org.mortbay.jetty.servlet.ServletMapping;
import org.mortbay.jetty.servlet.SessionHandler;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.bio.SocketConnector;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.server.session.SessionHandler;
import org.eclipse.jetty.servlet.ServletHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.servlet.ServletMapping;
/**
* @version $Revision$

View File

@ -19,7 +19,7 @@ package org.apache.activemq.transport.https;
import java.net.URI;
import org.apache.activemq.transport.http.HttpTransportServer;
import org.mortbay.jetty.security.SslSocketConnector;
import org.eclipse.jetty.server.ssl.SslSocketConnector;
public class HttpsTransportServer extends HttpTransportServer {

View File

@ -52,11 +52,11 @@
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty-version}</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<connector implementation="org.eclipse.jetty.nio.SelectChannelConnector">
<port>${jetty.port}</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
@ -130,14 +130,6 @@
</plugins>
</build>
<pluginRepositories>
<pluginRepository>
<id>mortbay-repo</id>
<name>mortbay-repo</name>
<url>http://www.mortbay.org/maven2/snapshot</url>
</pluginRepository>
</pluginRepositories>
<dependencies>
<dependency>
@ -203,18 +195,13 @@
<!-- web container -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1</artifactId>
<artifactId>jsp-2.1-glassfish</artifactId>
<scope>provided</scope>
</dependency>

View File

@ -17,11 +17,11 @@
package org.apache.activemq.web.tool;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.webapp.WebAppContext;
/**
* A simple bootstrap class for starting Jetty in your IDE using the local web
@ -57,9 +57,9 @@ public final class Main {
context.setResourceBase(WEBAPP_DIR);
context.setContextPath(WEBAPP_CTX);
context.setServer(server);
server.setHandlers(new Handler[] {
/*server.setHandlers(new Handler[] {
context
});
});*/
server.setConnectors(new Connector[] {
connector
});

View File

@ -34,11 +34,11 @@
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<artifactId>jetty-maven-plugin</artifactId>
<version>${jetty-version}</version>
<configuration>
<connectors>
<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">
<connector implementation="org.eclipse.jetty.nio.SelectChannelConnector">
<port>${jetty.port}</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
@ -92,8 +92,8 @@
<!-- web container -->
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
<scope>test</scope>
</dependency>

View File

@ -53,16 +53,23 @@
<artifactId>geronimo-servlet_2.5_spec</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<scope>test</scope>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-websocket</artifactId>
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-continuation</artifactId>
<version>${jetty-version}</version>
</dependency>
<!-- Rome RSS Reader -->

View File

@ -40,8 +40,8 @@ import org.apache.activemq.MessageAvailableConsumer;
import org.apache.activemq.MessageAvailableListener;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mortbay.util.ajax.Continuation;
import org.mortbay.util.ajax.ContinuationSupport;
import org.eclipse.jetty.continuation.Continuation;
import org.eclipse.jetty.continuation.ContinuationSupport;
/**
* A servlet for sending and receiving messages to/from JMS destinations using
@ -263,9 +263,9 @@ public class MessageListenerServlet extends MessageServletSupport {
LOG.debug("doMessage timeout=" + timeout);
}
Continuation continuation = ContinuationSupport.getContinuation(request, client);
Continuation continuation = ContinuationSupport.getContinuation(request);
Listener listener = getListener(request);
if (listener != null && continuation != null && !continuation.isPending()) {
if (listener != null && continuation != null && !continuation.isSuspended()) {
listener.access();
}
@ -298,7 +298,7 @@ public class MessageListenerServlet extends MessageServletSupport {
// Get the continuation object (may wait and/or retry
// request here).
continuation.suspend(timeout);
continuation.suspend();
}
listener.setContinuation(null);

View File

@ -30,24 +30,18 @@ import javax.jms.MessageConsumer;
import javax.jms.ObjectMessage;
import javax.jms.TextMessage;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.activemq.MessageAvailableConsumer;
import org.apache.activemq.MessageAvailableListener;
import org.apache.activemq.camel.converter.ActiveMQMessageConverter;
import org.apache.activemq.command.ActiveMQDestination;
import org.apache.activemq.command.ActiveMQTextMessage;
import org.apache.camel.Endpoint;
import org.apache.camel.Exchange;
import org.apache.camel.ExchangePattern;
import org.apache.camel.Producer;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.mortbay.util.ajax.Continuation;
import org.mortbay.util.ajax.ContinuationSupport;
import org.eclipse.jetty.continuation.Continuation;
import org.eclipse.jetty.continuation.ContinuationSupport;
/**
* A servlet for sending and receiving messages to/from JMS destinations using
@ -204,14 +198,14 @@ public class MessageServlet extends MessageServletSupport {
// Get an existing Continuation or create a new one if there are
// no events.
if (message == null) {
continuation = ContinuationSupport.getContinuation(request, consumer);
continuation = ContinuationSupport.getContinuation(request);
// register this continuation with our listener.
listener.setContinuation(continuation);
// Get the continuation object (may wait and/or retry
// request here).
continuation.suspend(timeout);
continuation.suspend();
}
// Try again now

View File

@ -19,11 +19,11 @@ package org.apache.activemq.web;
import org.apache.activemq.broker.BrokerService;
import org.apache.activemq.demo.DefaultQueueSender;
import org.mortbay.jetty.Connector;
import org.mortbay.jetty.Handler;
import org.mortbay.jetty.Server;
import org.mortbay.jetty.nio.SelectChannelConnector;
import org.mortbay.jetty.webapp.WebAppContext;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.webapp.WebAppContext;
/**
* A simple bootstrap class for starting Jetty in your IDE using the local web
@ -72,9 +72,9 @@ public final class JettyServer {
context.setResourceBase(WEBAPP_DIR);
context.setContextPath(WEBAPP_CTX);
context.setServer(server);
server.setHandlers(new Handler[] {
/*server.setHandlers(new Handler[] {
context
});
});*/
server.setConnectors(new Connector[] {
connector
});

View File

@ -261,16 +261,13 @@
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-xbean</artifactId>
<groupId>org.eclipse.jdt</groupId>
<artifactId>core</artifactId>
<version>3.1.1</version>
</dependency>
<dependency>
<groupId>org.apache.derby</groupId>
@ -307,7 +304,7 @@
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1</artifactId>
<artifactId>jsp-2.1-glassfish</artifactId>
</dependency>
<dependency>

View File

@ -209,7 +209,7 @@
<include>org.apache.geronimo.specs:geronimo-j2ee-jacc_1.0_spec</include>
<include>org.apache.geronimo.specs:geronimo-j2ee-connector_1.5_spec</include>
<include>org.apache.xbean:xbean-spring</include>
<include>org.mortbay.jetty:jetty-client</include>
<include>org.eclipse.jetty:jetty-client</include>
<include>org.springframework:spring-aop</include>
<include>org.springframework:spring-core</include>
<include>org.springframework:spring-beans</include>
@ -233,16 +233,14 @@
<includes>
<include>org.springframework:spring-web</include>
<include>org.springframework:spring-webmvc</include>
<include>org.mortbay.jetty:jetty</include>
<include>org.mortbay.jetty:jetty-util</include>
<include>org.mortbay.jetty:jetty-xbean</include>
<include>org.eclipse.jetty.aggregate:jetty-all-server</include>
<include>org.apache.geronimo.specs:geronimo-servlet_2.5_spec</include>
<include>org.slf4j:slf4j-api</include>
<include>org.slf4j:slf4j-jcl</include>
<!-- JSP support -->
<include>org.mortbay.jetty:jsp-2.1</include>
<include>org.mortbay.jetty:jsp-api-2.1</include>
<include>org.mortbay.jetty:jsp-2.1-glassfish</include>
<include>org.mortbay.jetty:jsp-api-2.1-glassfish</include>
<include>org.eclipse.jdt:core</include>
<include>org.apache.ant:ant</include>

View File

@ -20,17 +20,54 @@
e.g. <import resource="jetty.xml"/>
-->
<beans>
<jetty xmlns="http://mortbay.com/schemas/jetty/1.0">
<connectors>
<nioConnector port="8161"/>
</connectors>
<handlers>
<webAppContext contextPath="/admin" resourceBase="${activemq.base}/webapps/admin" logUrlOnStart="true"/>
<webAppContext contextPath="/camel" resourceBase="${activemq.base}/webapps/camel" logUrlOnStart="true"/>
<webAppContext contextPath="/demo" resourceBase="${activemq.base}/webapps/demo" logUrlOnStart="true"/>
<webAppContext contextPath="/fileserver" resourceBase="${activemq.base}/webapps/fileserver" logUrlOnStart="true"/>
</handlers>
</jetty>
</beans>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- <bean id="contexts" class="org.eclipse.jetty.server.handler.ContextHandlerCollection"/> -->
<bean id="Server" class="org.eclipse.jetty.server.Server" init-method="start" destroy-method="stop">
<property name="connectors">
<list>
<bean id="Connector" class="org.eclipse.jetty.server.nio.SelectChannelConnector">
<property name="port" value="8161"/>
</bean>
</list>
</property>
<property name="handler">
<bean id="handlers" class="org.eclipse.jetty.server.handler.HandlerCollection">
<property name="handlers">
<list>
<!-- <ref bean="contexts"/>
<bean id="defaultHandler" class="org.eclipse.jetty.server.handler.DefaultHandler"/> -->
<bean class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/admin"/>
<property name="resourceBase" value="${activemq.base}/webapps/admin"/>
<property name="logUrlOnStart" value="true"/>
</bean>
<!--<bean class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/camel"/>
<property name="resourceBase" value="${activemq.base}/webapps/camel"/>
<property name="logUrlOnStart" value="true"/>
</bean>
<bean class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/demo"/>
<property name="resourceBase" value="${activemq.base}/webapps/demo"/>
<property name="logUrlOnStart" value="true"/>
</bean>
<bean class="org.eclipse.jetty.webapp.WebAppContext">
<property name="contextPath" value="/fileserver"/>
<property name="resourceBase" value="${activemq.base}/webapps/fileserver"/>
<property name="logUrlOnStart" value="true"/>
</bean>-->
</list>
</property>
</bean>
</property>
</bean>
</beans>

27
pom.xml
View File

@ -61,7 +61,8 @@
<howl-version>0.1.8</howl-version>
<hsqldb-version>1.7.2.2</hsqldb-version>
<jdom-version>1.0</jdom-version>
<jetty-version>6.1.9</jetty-version>
<jetty-version>7.0.1.v20091125</jetty-version>
<jsp-version>2.1.v20100127</jsp-version>
<jettison-version>1.1</jettison-version>
<jmock-version>2.5.1</jmock-version>
<junit-version>4.5</junit-version>
@ -156,7 +157,7 @@
<id>com.springsource.repository.bundles.external</id>
<name>SpringSource Enterprise Bundle Repository - External Bundle Releases</name>
<url>http://repository.springsource.com/maven/bundles/external</url>
</repository>
</repository>
</repositories>
<dependencyManagement>
@ -755,25 +756,13 @@
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jsp-2.1</artifactId>
<version>${jetty-version}</version>
<artifactId>jsp-2.1-glassfish</artifactId>
<version>${jsp-version}</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-xbean</artifactId>
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
<version>${jetty-version}</version>
</dependency>
@ -1008,7 +997,7 @@
</configuration>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<groupId>org.eclipse.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>${jetty-version}</version>
</plugin>