HTTP asynchrone Client Java

Comme un débutant dans le monde Java, je viens de trouver beaucoup de choses très obtus à accomplir qui sont relativement trivial dans de nombreux autres cadres. Un exemple principal est une solution simple pour asynchrone des requêtes http. Voyant que l'un ne semble pas exister déjà, quelle est la meilleure approche? La création de mon propre fils à l'aide d'un blocage de type lib comme httpclient ou intégré dans java http trucs, ou dois-je utiliser les nouvelles de la non-bloquant io nouveautés de java -, il semble particulièrement complexe pour quelque chose qui devrait être simple.

Ce que je cherche, c'est quelque chose de facile à utiliser à partir d'un développeur point de vue - quelque chose de similaire à URLLoader en AS3 - où il vous suffit de créer un URLRequest - joindre un groupe de gestionnaires d'événements pour gérer la fin, les erreurs, le progrès, etc, et appeler une méthode pour déclencher.

Si vous n'êtes pas familier avec URLLoader en AS3, c'est tellement super facile et ressemble à quelque chose comme ceci:

private void getURL(String url)
{
    URLLoader loader = new URLLoader();
    loader.addEventListener(Event.Complete, completeHandler);
    loader.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler);
    loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);

    URLRequest request = new URLRequest(url);

    //fire it off - this is asynchronous so we handle
    //completion with event handlers
    loader.load(request);
}

private void completeHandler(Event event)
{
    URLLoader loader = (URLLoader)event.target;
    Object results = loader.data;

    //process results
}

private void httpStatusHandler(Event event)
{
    //check status code
}

private void ioErrorHandler(Event event)
{
    //handle errors
}
InformationsquelleAutor helifreak | 2009-06-18