вторник, 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();



четверг, 4 августа 2011 г.

Ахтунг блять вокруг пидарасы

Сука мудаки ебаные чтоб вам всем сдохнуть блять. Нахуевертили говна, мозгов блять нету.

пользовался wsdl2java. Так эти пидоры используют хуй пойми какой логгинг. Соответственно гандоны пишут
Axis uses the Jakarta Projects's commons-logging API... Ни примеров конфигурации, нихуя.
Ну и сука блять понеслась. В антовской таске wsdl2java системные проперти установить блять нельзя. В документации по commons-logging тоже гандонство сплошное - нихуя ни примеров нормальных работающих, какие то блять параметры непонятные. Вот сука мудаки. Теперь блять для того чтоб логгинг в этой уебанской wsdl2java заработал нужно целый день сука биться. Блять пидарасы, чтоб вас палками.

Все, вылил говно.

PS. Вот блять кровь-кишки-распидарасило. Наши уебаны добавили log4j в classpath анта. Кроме этого антовский класслоадер из анта 1.7 имеет ошибку - он видит классы, но не видит ресурсы из дочерних класслоадеров (например из класслоадера, которым делаешь taskdef). В результате получается полная поебень. Сука - ну почему кругом одни пидарасы?!!!!