2016-12-01 2 views
0

NPE beim Empfangen von Nachrichten aus der Warteschlange. (Nur wenn Nachrichten in der Warteschlange vorhanden sind). Ich habe das Gefühl, dass es ein Problem mit dem Deserialisieren der Nachrichten gibt.NPE beim Empfangen von Nachrichten vom Azure Service-Bus Warteschlange

java.lang.NullPointerException bei com.sun.jersey.api.client.ClientResponse.getResponseDate (ClientResponse.java:738) bei com.microsoft.windowsazure.services.servicebus.implementation.ServiceBusRestProxy.receiveMessage (ServiceBusRestProxy.java:288) bei com.microsoft.windowsazure.services.servicebus.implementation.ServiceBusRestProxy.receiveQueueMessage (ServiceBusRestProxy.java:225) bei com.microsoft.windowsazure.services.servicebus.implementation.ServiceBusExceptionProcessor.receiveQueueMessage (ServiceBusExceptionProcessor. Java: 142)

Option RECEIVE_AND_DELETE d löscht die Nachrichten und löst NPE aus.

Alle anderen Operationen wie Warteschlange erstellen, senden Nachrichten usw. funktioniert gut. Irgendwelche Gedanken eins davon?

-Code Nachricht

public void receiveMessage(String queueName) { 
     try { 
      ReceiveMessageOptions opts = ReceiveMessageOptions.DEFAULT; 
      opts.setReceiveMode(ReceiveMode.PEEK_LOCK); 

      while (true) { 
       ReceiveQueueMessageResult resultQM 
         = service.receiveQueueMessage(queueName, opts); 
       BrokeredMessage message = resultQM.getValue(); 
       if (message != null && message.getMessageId() != null) { 
        log.println("MessageID: " + message.getMessageId()); 
        // Display the queue message. 
        log.print("From queue: "); 
        byte[] b = new byte[200]; 
        String s = null; 
        int numRead = message.getBody().read(b); 
        while (-1 != numRead) { 
         s = new String(b); 
         s = s.trim(); 
         System.out.print(s); 
         numRead = message.getBody().read(b); 
        } 
        log.println(""); 
        log.println("Custom Property: " 
          + message.getProperty("MyProperty")); 
        // Remove message from queue. 
        log.println("Deleting this message."); 
        //service.deleteMessage(message); 
       } else { 
        log.println("Finishing up - no more messages."); 
        break; 
        // Added to handle no more messages. 
        // Could instead wait for more messages to be added. 
       } 
      } 
     } catch (Exception e) { 
      log.print(e); 
     } 
    } 

Antwort

0

Selbst zu erhalten, obwohl es NPE wirft das eigentliche Problem mit den fehlenden JAR-Dateien war. Hier ist die Liste der JAR-Dateien

  <dependencies> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-svc-mgmt</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-svc-mgmt-compute</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-svc-mgmt-network</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-svc-mgmt-sql</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-svc-mgmt-storage</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-svc-mgmt-websites</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-svc-mgmt-media</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-servicebus</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
       <dependency> 
         <groupId>com.microsoft.azure</groupId> 
         <artifactId>azure-serviceruntime</artifactId> 
         <version>0.9.7</version> 
       </dependency> 
     </dependencies> 
Verwandte Themen