The Java prosess forbedring er et verktøy som automatisk legger koden til vedvarende klasser . Byten kodene genereres av Java- kompilatoren å bruke enhancer post-prosess . I tillegg har noen endringer gjort av byte -koden kompatibilitet med Java debuggers . Dette bevarer linjenummer i stabel spor . Etter Enhancer legger grensesnitt , felt og metoder til vedvarende klasser , lagrer Enhancer informasjonen i et datalager . Bygg tid
Brukere kan be enhancer på build tid gjennom en Java-klassen , og enhancer vil godta standard sett av commandline argumenter. Konfigurasjonen rammeverket bruker ulike sett med flagg for å sette parametre , inkludert muligheten til å legge til et beskyttet nei- argument konstruktør til en vedvarende klasse . Hvis et argument ikke tilføres gjennom forsterkeren , blir argumentet kjøre på klassene i vedvarende klasse listen . Argumentet må enten bruke fullt navn på en klasse , den . Java-fil for en klasse eller . Klassen filen av en klasse .
Distribusjon
Java EE 5 bruker kroker til å automatisk forbedre JPA enheter når utplassert i en beholder . Den OpenJPA forbedrer enhetene under kjøring når du bruker en kompatibel server. I tillegg anerkjenner OpenJPA og deretter korrigerer eller hopper noen ekstrautstyr konflikter.
Runtime
En Java agent i OpenJPA automatisk forbedrer vedvarende klasser under lasting prosessen. I tillegg er disse agentene bruke kroker for å fange klasser som har utholdenhet metadata før de lastes . Prosessen med å lete etter metadata er tidkrevende og vil forsinke initialisering av søknaden. Brukerne kan imidlertid fremskynde denne prosessen ved å erklære en vedvarende klasse listen. I dette tilfellet vil OpenJPA bare søke innenfor den angitte listen for metadata .
Metadata
Når brukere definethe metadata basert på klasse erklæring , vil Enhancer generere sin egen metadata . Metadataene blir da en del av hver vedvarende klassen som en statisk felt da lagt under ekstrautstyr. Ulike typer av statiske felt også bety klasse - nivå metadata . Brukere kan enkelt få tilgang til denne metadata informasjon å håndtere feltene i klassen .