Denna dokumentation gäller användningen av indexerade installationskataloger.
Numreringsschemat som ingår i ett distribuerat programs katalognamn har implementerats som en indexeringsmekanism. Med den här mekanismen kan en utvecklare ändra en JAR- eller klassfil som är associerad med det distribuerade programmet. Mekanismen är viktig för Windows-plattformen på grund av ett fildelningsfel som uppstår vid försök att skriva över en inläst fil, då Windows låser den inlästa filen. Filen installeras på serverinstansen eller IDE:n när sessionen startas. Det finns två alternativ för att kringgå delningsfelet:
Kompilera den uppdaterade klassfilen (som ursprungligen ingick i JAR-filen) och placera den först i klassökvägen så att den läses in före de äldre klasserna. Ge sedan Sun ONE Application Server möjlighet att ladda om programmet i fråga (om omladdning är aktiverat).
Uppdatera JAR-filen, skapa en ny EAR-fil och installera om programmet.
Du behöver inte distribuera om programmet på Solaris-plattformen eftersom den inte har några fillåsningsbegränsningar.
När du ändrar ett program som redan har distribuerats på Windows-plattformen för IDE-konfiguration, ANT-filkopiering, kompilering eller andra åtgärder måste du känna till ännu en ändring: Det skapas en ny katalog med ett indexnummer som ökar stegvis som lösning på fillåsningsbegränsningen. På Solaris-plattformen distribueras till exempel J2EE-programmet, helloworld, på Sun ONE Application Server med följande katalogstruktur:
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1
En ändring görs sedan på en servlet som ingår i det här distribuerade programmet (exempelvis HelloServlet.java). Sun ONE Studio IDE startas, källfilen för denna servlet ändras och kompileras med javac-målet angivet till ovanstående katalog. Om källan är kompilerad på rätt plats finns det en uppdateringsfil för programmet. Flaggan reload i server.xml är angiven till sant och när serverinstansen körs träder ändringarna i kraft utan att programmet behöver assembleras och distribueras igen.
På Windows-plattformen går det inte att ändra eller uppdatera JAR-filen eller klassfilen på grund av problemet med fillåsning. Du löser i stället det här problemet på Windows på något av följande två sätt:
Kompilera den ändrade källfilen och lägg till klassfilen eller JAR-filen först i klassökvägen så att ändringarna i källkoden träder i kraft.
Gör ändringarna i källkoden till helloworld, assemblera den, och återinstallera den utan att avinstallera tidigare version av helloworld.
Det andra alternativet är att föredra, eftersom det innebär att det graderade indexnumret läggs till i det distribuerade programmets katalognamn. Efter den andra distributionen av helloworld ser katalogstrukturen ut ungefär så här:
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_2
Den andra distributionen av helloworld distribueras under helloworld_2.