2017-04-11 6 views
0

Ich habe gerade die Basic Authentication Plugin in Solr 6.4.2 auf SolrCloud eingerichtet, und ich versuche, meinen SolrJ Code zu ändern, so dass der Code durch die Authentifizierung und tut, um die Indizierung zu gehen.Mit BasicAuth mit SolrJ-Code

Ich habe versucht, den folgenden Code aus der Solr-Dokumentation https://cwiki.apache.org/confluence/display/solr/Basic+Authentication+Plugin zu verwenden.

SolrRequest req ;//create a new request object 
req.setBasicAuthCredentials(userName, password); 
solrClient.request(req); 

Der Code beschwert sich jedoch, dass der Req nicht initialisiert wird.

Wenn ich es initialisiert habe, wird es als Null initialisiert.

SolrRequest req = null;//create a new request object 
req.setBasicAuthCredentials(userName, password); 
solrClient.request(req); 

Dies wird verursacht eine Null-Zeiger Ausnahme:

Exception in thread "main" java.lang.NullPointerException 

Wie sollen wir gehen über diese Codes setzen, so dass der Fehler verhindert werden kann?

Grüße,
Edwin

Antwort

0

erklärt Sie die Variable req mit Null-Wert, der das Ergebnis der NPE ist.

SolrRequest req = null;//create a new request object 
req.setBasicAuthCredentials(userName, password); 

, die wie dieser

SolrRequest req = new SolrRequest(method, path); 
+0

Dank @ Kevin für Ihre Antwort sein sollten. Aber ich bin immer diese Fehlermeldung, wenn ich in dieser Erklärung setzen: ‚Kann nicht den Typ instanziiert SolrRequest' Ich bin mit Solr 6.4.2 mit Java 8. –

+0

ich mit der Klasse nicht vertraut bin selbst, aber das ist eine abstrakte Sie müssen also nach einer Bibliothek suchen, die Ihren Bedürfnissen entspricht. check this http://www.programcreek.com/java-api-examples/index.php?api=org.apache.solr.client.solrj.SolrRequest.METHOD –

+0

in der Dokumentation Nach 'neuen QueryRequest (neu SolrQuery ("*: *")); ' –