Java-Prozess-Erweiterung

March 31

Java-Prozess-Erweiterung ist ein Tool, das automatisch Code persistente Klassen hinzufügt. Die Byte-Codes, die vom Java-Compiler generierten verwenden den Vergrößerer-Post-Prozess. Darüber hinaus hat alle Änderungen, die von den Bytecode Kompatibilität mit Java-Debugger. Dadurch bleibt die Zeilennummern in Stack-Traces. Nachdem der Enhancer Schnittstellen, Felder und Methoden die persistenten Klassen hinzugefügt, speichert der Enhancer die Informationen in einen Datenspeicher.

Zeit zu bauen

Benutzer können über eine Javaklasse beim Erstellen der Enhancer anfordern, und der Enhancer den Standardsatz von Kommandozeilenargumente akzeptieren. Im Rahmen der Konfiguration Zusammensetzungen verschiedene von Flags Parameter einschließlich der Fähigkeit, einen geschützten argumentlosen Konstruktor einer persistenten Klasse hinzufügen festlegen. Wenn durch der Enhancer kein Argument angegeben ist, wird das Argument für die Klassen in der Liste der persistenten Klasse ausgeführt. Das Argument muss entweder den vollständigen Name einer Klasse, die .java-Datei für eine Klasse oder die .class-Datei einer Klasse verwenden.

Bereitstellung

Java EE 5 benutzt Haken um PPV Entitäten in einem Container Bereitstellung automatisch zu erhöhen. Die OpenJPA erhöht die Entitäten zur Laufzeit, wenn einen kompatiblen Server verwenden. Darüber hinaus die OpenJPA erkennt und dann korrigiert oder überspringt Erweiterung Konflikte.

Laufzeit

Ein Java-Agent in OpenJPA erhöht die persistente Klassen automatisch während des Ladevorgangs. Darüber hinaus verwenden diese Agenten Haken Klassen abgefangen, die Persistenz Metadaten haben, bevor sie geladen. Der Prozess der Suche nach Metadaten ist zeitaufwändig und die Initialisierung der Anwendung verlangsamen. Jedoch können Benutzer diesen Prozess beschleunigen, indem der Liste eine persistente Klasse deklarieren. In diesem Fall sucht OpenJPA nur innerhalb der angegebenen Liste für Metadaten.

Metadaten

Sobald Benutzer Definethe Metadaten in der Klassendeklaration basiert, wird der Enhancer eigene Metadaten generiert. Die Metadaten wird dann ein Teil jeder persistente Klasse als ein statisches Feld, wenn während der Erweiterung hinzugefügt. Verschiedene Arten von statischen Feldern bedeuten auch auf Klassenebene Metadaten. Diese Metadateninformationen, um die Felder der Klasse verwalten erreichen Benutzer bequem.