2016-12-02 3 views
0

In meiner Anwendung verwende ich Apache HttpClient für synchrone Anfragen. Meine maven-Abhängigkeit sieht so aus:Abhängigkeiten von Apache HttpComponents für Async- und Nicht-Async-Anfragen

 <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient</artifactId> 
      <version>4.5.2</version> 
     </dependency> 

Aber jetzt brauche ich Fähigkeit, asynchrone Anfragen zu machen.

Meine allgemeine Frage ist - wie sollte meine pom.xml aussehen, wenn ich asynchrone und nicht-asynchrone Anfragen mit Apache HTTP-Komponenten machen möchte? Tatsächlich gibt es eine Menge Fragen, die mich etwas verwirrt machen.

Um genauer zu sein:

  • ist Asynchron-Client getrennte Abhängigkeit ist? Von meinem Verständnis - ja, aber nachdem diese Abhängigkeit zu meinem pom.xml fügte hinzu:

    <dependency> 
         <groupId>org.apache.httpcomponents</groupId> 
         <artifactId>httpasyncclient</artifactId> 
         <version>4.1.2</version> 
        </dependency> 
    

    habe ich Probleme mit HttpAsyncClients Klasse importieren.

  • Haben beide libs gleiche http-core-Abhängigkeit? Kann ich den Ausschluss für http-core verwenden?

  • Gibt es eine andere Möglichkeit, asynchrone und nicht asynchrone Anfragen mit Apache HttpComponents zu haben?

  • Ist es legal, beide Bibliotheken in einem Projekt zu mischen?

Antwort

0

Ich würde vorschlagen, nur httpasyncclient zu behalten, können Sie Anfragen immer synchron damit bearbeiten. Also, wenn es möglich ist, refactor Sie nur Code zu httpasyncclient. Wenn nicht, können Sie versuchen, eine manuelle Abhängigkeit von http-core-nio hinzuzufügen, die möglicherweise Ihr Problem löst.

Verwandte Themen