2014-11-13 13 views
7

Kürzlich konvertieren wir eine Tomcat/Feder-App zu Spring Boot. Alles funktioniert gut, abgesehen von neuen Reliquien. Gibt es einen Weg, wie ich neue Reliquie mit Springboot-Projekt einfach konfigurieren kann. Ich möchte den Speicherort des Pfads für den neuen Reliktagenten-JAR nicht fest codieren und das Spring-Boot-Projekt mit dem Pfad ausführen.Neues Relikt für Spring Boot

bearbeiten: Frühling Boot-Projekt ist mit Maven

+0

Sie finden diesen Link nützlich starten: http://jdpgrailsdev.github.io/blog/2014/04/08/ spring_boot_gradle_newrelic.html Diese Person benutzt Gradle anstelle von Maven, aber er scheint ein ähnliches Problem gelöst zu haben, nämlich wie man den Pfad des neuen Reliktagenten-Jars zum Spring-Boot übergibt, ohne ihn hart zu codieren. –

+0

Danke Toby_New_Relic. Ich sah diesen Beitrag vor, aber immer noch nicht herausfinden, wie man mit Maven – jasonfungsing

Antwort

8

Sie können NewRelic Maven Abhängigkeit enthalten und maven-dependency-plugin verwenden in in Ihr target/classes Verzeichnis zu entpacken, die Maven es in die endgültige Jar-Datei aufgenommen werden können. Dann müssen Sie Premain-Class Attribut in Manifest-Datei hinzufügen, und Sie können Ihre Anwendung jar als -javaagent Quelle verwenden. Sie können Details zu my blog post

+1

konfigurieren Ich befolgte die Anweisung und es funktioniert perfekt. Vielen Dank! – cahen

+0

@Jakub Kubrybski, Ihr Blogpost ist veraltet. Spring Boot packt jetzt Klassendateien in BOOT-INF/classes, die vom ClassLoader der PreMain-Class nicht geladen werden können. – zalpha314

4

Schritt für Schritt Anleitung finden

  • die Dateien aus dem newrelic Java-Agent-Archiv extrahieren.
  • Erstellen Sie ein Verzeichnis namens newrelic im Stammverzeichnis Ihrer Anwendung.
  • Platz der newrelic.jar aus dem Archiv in den oben erstellten newrelic Ordnern
  • Platz der newrelic.yml YAML-Konfigurationsdatei im oben erstellten newrelic Ordnern.
  • Aktualisieren Sie die Werte in newrelic.yml wie folgt.
    • license_key: 'Lizenzschlüssel'
    • app_name: 'Ihr Anwendungsname'
  • Führen Sie Anwendung durch die Option javaagent mit
    • java -javaagent: newrelic \ newrelic.jar -jar yourapplication.jar

-javaagent Option vor dem -jar sein muss, so kann der Agent