Sdílet prostřednictvím


Kurz: Ladění aplikace v Javě nasazené v místním clusteru Service Fabric

Tento kurz je druhá část série. Zjistíte, jak pro aplikaci Service Fabric připojit vzdálený ladicí program pomocí Eclipse. Kromě toho se dozvíte, jak přesměrovat protokoly ze spuštěných aplikací do umístění, které je vhodné pro vývojáře.

V této sérii kurzů se naučíte:

Ve druhé části této série se naučíte:

  • Ladění aplikace v Javě pomocí Eclipse
  • Přesměrování protokolů do konfigurovatelného umístění

Požadavky

Než začnete s tímto kurzem:

  • Nastavte vývojové prostředí pro Mac nebo Linux. Postupujte podle pokynů k instalaci modulu plug-in Eclipse, Gradle, sady Service Fabric SDK a Service Fabric CLI (sfctl).

Stažení ukázkové aplikace Voting

Pokud jste ukázkovou aplikaci Voting nevytvořili v první části této série kurzů, můžete si ji stáhnout. V příkazovém okně naklonujte spuštěním následujícího příkazu úložiště ukázkové aplikace do místního počítače.

git clone https://github.com/Azure-Samples/service-fabric-java-quickstart

Sestavte a nasaďte aplikaci do místního vývojového clusteru.

Ladění aplikace v Javě pomocí Eclipse

  1. Otevřete na počítači integrované vývojové prostředí Eclipse a klikněte na Soubor –> Import.

  2. V místním okně vyberte možnost Obecné –> Existující projekty do pracovního prostoru a stiskněte Další.

  3. V okně Import Projects (Importovat projekty) zvolte možnost Select root directory (Vybrat kořenový adresář) a vyberte adresář Voting. Pokud jste postupovali podle první části této série kurzů, adresář Voting je v adresáři Eclipse-workspace.

  4. Aktualizujte soubor entryPoint.sh služby, kterou chcete ladit, aby se proces Javy spouštěl s parametry vzdáleného ladění. Pro účely tohoto kurzu se používá bezstavový front-end: Voting/VotingApplication/VotingWebPkg/Code/entryPoint.sh. V tomto příkladu je pro ladění nastavený port 8001.

    java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -jar VotingWeb.jar
    
  5. Aktualizujte manifest aplikace a nastavte počet instancí nebo replik pro laděnou službu na 1. Toto nastavení zabrání konfliktům na portu, který slouží k ladění. Například pro bezstavové služby nastavte InstanceCount="1" a pro stavové služby nastavte cílovou a minimální velikost sady replik na 1 následujícím způsobem: TargetReplicaSetSize="1" MinReplicaSetSize="1".

  6. V integrovaném vývojovém prostředí Eclipse vyberte Spustit –> Ladění konfigurací –> Vzdálená aplikace Java, stiskněte tlačítko Nový , nastavte vlastnosti následujícím způsobem a klikněte na Použít.

    Name: Voting
    Project: Voting
    Connection Type: Standard
    Host: localhost
    Port: 8001
    
  7. Přidejte zarážku na řádek 109 souboru Voting/VotingWeb/src/statelessservice/HttpCommunicationListener.java.

  8. V Průzkumníku balíčků klikněte pravým tlačítkem na projekt Voting a klikněte na Service Fabric –> Publikovat aplikaci...

  9. V okně Publish Application (Publikovat aplikaci) vyberte v rozevíracím seznamu soubor Local.json a klikněte na Publish (Publikovat).

  10. V integrovaném vývojovém prostředí Eclipse vyberte Spustit –> ladit konfigurace –> Vzdálená aplikace Java, klikněte na konfiguraci hlasování , kterou jste vytvořili, a klikněte na Ladit.

  11. Přejděte do webového prohlížeče a přejděte na localhost:8080. Tím automaticky dosáhnete zarážky a Eclipse přejde do perspektivy ladění.

Teď můžete použít stejný postup k ladění libovolné aplikace Service Fabric v Eclipse.

Přesměrování protokolů aplikací do vlastního umístění

Následující kroky vás provedou přesměrováním protokolů aplikací z výchozího umístění /var/log/syslog do vlastního umístění.

  1. Aplikace spuštěné v clusterech Service Fabric s Linuxem v současné době podporují pouze vyzvednutí jednoho souboru protokolu. Pokud chcete nastavit aplikaci tak, aby protokoly vždy přecházení na /tmp/mysfapp0.0.log, vytvořte soubor s názvem logging.properties v následujícím umístění Voting/VotingApplication/VotingWebPkg/Code/logging.properties a přidejte následující obsah.

    handlers = java.util.logging.FileHandler
    
    java.util.logging.FileHandler.level = ALL
    java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
    
    # This value specifies your custom location.
    # You will have to ensure this path has read and write access by the process running the SF Application
    java.util.logging.FileHandler.pattern = /tmp/mysfapp0.0.log
    
  2. Do souboru Voting/VotingApplication/VotingWebPkg/Code/entryPoint.sh přidejte následující parametr pro příkaz ke spuštění Javy:

    -Djava.util.logging.config.file=logging.properties
    

    Následující příklad ukazuje ukázkové spuštění s připojeným ladicím programem, podobně jako spuštění v předchozí části.

    java -Xdebug -Xrunjdwp:transport=dt_socket,address=8001,server=y,suspend=n -Djava.library.path=$LD_LIBRARY_PATH -Djava.util.logging.config.file=logging.properties -jar VotingWeb.jar
    

V této fázi už víte, jak při vývoji aplikací Service Fabric v Javě ladit protokoly aplikací a jak k nim přistupovat.

Další kroky

V této části kurzu jste se naučili:

  • Ladění aplikace v Javě pomocí Eclipse
  • Přesměrování protokolů do konfigurovatelného umístění

Přejděte k dalšímu kurzu: