Jetty

http://jetty.mortbay.org

http://jetty.mortbay.org/jetty5/tut/Server.html

Jetty and the future of browser-based applications

http://javacan.tistory.com/entry/136

http://communitymapbuilder.org/display/JETTY/Classloading

 

Jetty vs Tomcat: A Comparative Analysis

jetty @ eclipse - 경량 자바 웹 컨테이너가 이클립스 프로젝트 안으로-안으로

Jetty Embeded

 

Continuation

자바 개발자를 위한 Ajax: Jetty와 Direct Web Remoting을 사용하여 확장 가능한 Comet 애플리케이션 개발하기 (한글)

http://wiki.eclipse.org/Jetty/Feature/Continuations

 http://download.eclipse.org/jetty/stable-

7/apidocs/org/eclipse/jetty/continuation/Continuation.html#setTimeout(long)

 

예제

자바 서블릿 컨테이너의 Comet 지원 1 - Jetty

http://yewon.egloos.com/2340665

자바 서블릿 컨테이너의 Comet 지원 2 - Tomcat

 

QosFilter

http://grepcode.com/file/repo1.maven.org/maven2/org.mortbay.jetty/jetty-servlet/7.0.0pre3/org/mortbay/servlet/QoSFilter.java

 

Maven plugin

<plugin>

<groupId>org.mortbay.jetty</groupId>

<artifactId>maven-jetty-plugin</artifactId>

<configuration>

<scanIntervalSeconds>3</scanIntervalSeconds>

<contextPath>/</contextPath>

<connectors>

<connector implementation="org.mortbay.jetty.nio.SelectChannelConnector">

<port>8080</port>

</connector>

</connectors>

</configuration>

</plugin>

 

<executions>

<execution>

<id>start-jetty</id>

<phase>pre-integration-test</phase>

<goals>

<goal>run</goal>

</goals>

<configuration>

<scanIntervalSeconds>0</scanIntervalSeconds>

<daemon>true</daemon>

</configuration>

</execution>

<execution>

<id>stop-jetty</id>

<phase>post-integration-test</phase>

<goals>

<goal>stop</goal>

</goals>

</execution>

 

Executable war

http://eclipsesource.com/blogs/2009/10/02/executable-wars-with-jetty/

http://www.jowisoftware.de/blog/archives/26-Creating-runnable-wars-with-Maven-and-Jetty.html

 

 

import java.net.URL;

import java.security.ProtectionDomain;


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;

/**

 * @author benelog

 */

public class JettyStart {


public static void main(String[] args) {

Server server = new Server();

SocketConnector connector = new SocketConnector();


// Set some timeout options to make debugging easier.

connector.setMaxIdleTime(1000 * 60 * 60);

connector.setSoLingerTime(-1);

connector.setPort(8080);

server.setConnectors(new Connector[] { connector });


WebAppContext context = new WebAppContext();

context.setServer(server);

context.setContextPath("/");

ProtectionDomain protectionDomain = JettyStart.class.getProtectionDomain();

URL location = protectionDomain.getCodeSource().getLocation();

context.setWar(location.toExternalForm());


server.setHandler(context);

try {

server.start();

System.in.read();

server.stop();

server.join();

} catch (Exception e) {

e.printStackTrace();

System.exit(100);

}

}

}

 


 

VM_OPTS=-XX:MaxPermSize=256m -XX:PermSize=128m -Xms128m -Xmx512m