вторник, 9 августа 2011 г.

Embedding Jetty

Почему то примеры на embedding, которые есть на сайте jetty не работают:
Embedding Jetty. Кроме того не показано из какого именно пакета импортируются классы.
Может у меня версия jetty не та (у меня версия jetty 7), но при копипасте кода из примера все классы inner и непонятно что именно импортировать.

К большому счастью я обнаружил пример в самом jetty:
jetty-blazeds/src/test/java/org/mortbay/jetty/asyncblazeds/Main.java

На всякий случай приведу исходник

package org.mortbay.jetty.asyncblazeds;

import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.ContextHandler;
import org.eclipse.jetty.server.handler.DefaultHandler;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.server.handler.ResourceHandler;
import org.eclipse.jetty.server.nio.SelectChannelConnector;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.webapp.WebAppContext;

public class Main
{
public static void main(String[] args)
throws Exception........
{...............
Server server = new Server();
Connector connector=new SelectChannelConnector();
connector.setPort(8080);
server.setConnectors(new Connector[]{connector});
........
HandlerCollection contexts = new HandlerCollection();
ServletContextHandler messageBroker = new ServletContextHandler(contexts, "/samples", WebAppContext.SESSIONS );
ServletHolder holder = messageBroker.addServlet("flex.messaging.MessageBrokerServlet", "/messagebroker/*");
holder.setInitParameter("services.configuration.file",System.getProperty("user.dir") + "/src/test/resources/services-config.xml");

ContextHandler polling=new ContextHandler("/polling");
ResourceHandler pollingClient = new ResourceHandler();
pollingClient.setWelcomeFiles(new String[]{"index.html"});
pollingClient.setResourceBase("src/test/resources/polling-chat");
........
polling.setHandler(pollingClient);

ContextHandler async=new ContextHandler("/async");
ResourceHandler asyncClient = new ResourceHandler();
asyncClient.setWelcomeFiles(new String[]{"index.html"});
asyncClient.setResourceBase("src/test/resources/async-chat");
async.setHandler(asyncClient);

contexts.setHandlers(new Handler[]{messageBroker,polling, async});
........
HandlerCollection handlers = new HandlerCollection();
handlers.setHandlers(new Handler[]{contexts,new DefaultHandler()});
........
server.setHandler(handlers);

server.start();
server.join();
}
}


Есть пример создания сервлета (ServletContextHandler) и файлосервера. Вот пример создания веб приложения:

import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.handler.HandlerCollection;
import org.eclipse.jetty.servlet.ServletContextHandler;
import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.webapp.WebAppContext;

...
Server server = new Server(8080);
HandlerCollection contexts = new HandlerCollection();

WebAppContext webapp = new WebAppContext(contexts, "colt-vaadin", "/colt-vaadin");
webapp.setWar("jnetx/application/colt/web-ui/src/web");
webapp.setDefaultsDescriptor("jnetx/application/colt/web-ui/src/web/WEB-INF/web.xml");

contexts.setHandlers(new Handler[]{webapp});
server.setHandler(contexts);
server.start();



Комментариев нет:

Отправить комментарий