Spring Loaded – Getting started

Mit Spring Loaded kann jeder den Class-Reload-Mechanismus aus Grails 2 in beliebigen Java-Projekt einsetzen. Der Einsatz von Spring ist dabei nicht zwingend erforderlich. Spring Loaded kann sehr schnell eingebunden werden und lässt sich zum Beispiel auch mit einem Tomcat aus Eclipse heraus verwenden. Dazu ist lediglich die Angabe zusätzlicher VM-Parameter notwendig:

-javaagent:path\to\lib\springloaded-x.x.x.RELEASE.jar -noverify

Wird eine Java-Anwendung mit diesen Parametern gestartet, werden in der laufenden Anwendung geänderte Class-Dateien automatisch ersetzt und der ansonsten häufig notwendige Neustart der Anwendung nach einer Änderung entfällt. Es dauert nur wenige Augenblicke bis die geänderte Klasse nach dem Speichern erkannt und anschließend ersetzt wird. Dies funktioniert sehr zuverlässig, solange die durchgeführten Änderungen von Spring Loaded unterstützt wird. Allerdings gibt es zahlreiche Einschränkungen, die durch diese Technologie nicht unterstützt werden. Nachfolgend ein kleiner Auszug dieser Einschränkungen:

  • Änderungen an der Klassenhierarchie
  • Hinzufügen von Dependencies in Spring-Beans (z.B. mit @Autowired)
  • Änderungen an JPA-Entitäten
  • Änderungen an Konfigurationsdateien (xml, properties, …)

Bei all diesen und vergleichbaren Änderungen ist weiterhin ein Neustart der Anwendung notwendig. Als Fazit kann somit festgehalten werden, dass Spring Loaded die Entwicklung an einigen Stellen deutlich schneller machen kann. Bei größeren Änderungen oder Änderungen über mehrere Anwendungsschichten hinweg kommt man aber nach wie vor meist nicht um einen Neustart der Anwendung herum.

Short URL for this post: http://wp.me/p4nxik-2eT
This entry was posted in Spring Universe and tagged , , , . Bookmark the permalink.

Leave a Reply