2.3.10. fejezet, GlassFish használata
A GlassFish a Sun Java ApplicationServer-ének az Oracle kiadása.
Szükséges program könyvtárak:
- mysql-connector-java-5.1.6-bin.jar (MySQL JDBC kapcsolat miatt)
- tomcat-coyote.jar (org.apache.tomcat.util.http.fileupload.FileUploadException miatt)
- tomcat-dbcp.jar (org.apache.tomcat.dbcp.dbcp.BasicDataSource miatt)
Ezeket másoljuk a GlassFish könyvtárába (pl.: C:\glassfish3\glassfish\lib). Indítsuk el a GlassFish szervert, és jelentkezzünk be az adminisztrátor konzolba (http://localhost:4848/asadmin/admingui/TopFrameset vigyázat, ez bejelentkezés után átirányít egy oldalra, ami nem létezik a 3.1.1-es verzió alapértelmezett beállításnál! A 3.1.2.2-ben ezt már javították).
A http://localhost:4848/common/index.jsf konzolon készítsük el a jdbc/demand erőforrást és a rá épülő kapcsolat konténert (/Resources/JDBC/ Resources és Connection Pools).
A Datasource Classname legyen: com.mysql.jdbc.jdbc2.optional.MysqlDataSource
Tesztelhetjük a poolt a context.xml módosításával. Szedjük ki belőle a jdbc/demand nevű resource-ot.
A javax.naming.NamingException: Lookup failed for 'java:/comp/env/jdbc/demand' kivételre a forráskódban (SystemDescriptor.getDataSource metódus, web.xml, hibernate-mysql.cfg.xml, RequestListener.RequestListener, OmegaIroda.createMQProducer) módosítsuk a névkeresést:
InitialContext ctx = new InitialContext(env); result = (DataSource) ctx.lookup("jdbc/" + getName());
A SystemDescriptor.getDataSource() metódusnál a DataSource-hoz importáljuk a javax.sql.DataSource osztályt.
Exportáljuk Eclipse projektünket .war formába a Files/Export menüponttal, tomcat támogatás nélkül, majd telepítsük az alkalmazást:
Ha távoli gépen szeretnénk webes adminisztrátor jogokat, használnunk kell az asadmin parancsot, ami at a telepített szerver bin könyvtárában találunk. Tehát ha a glassfish3/bin/asadmin parancsot kiadjuk - miután elindítottuk a szervert a glassfish3/glassfish/bin/start parancsal -, kapunk egy parancssort a konfiguráláshoz. Itt írjuk be az alábbiakat:
enable-secure-admin
Ha erre az alábbi választ kapjuk
remote failure: At least one admin user has an empty password, which secure admin does not permit. Use the change-admin-password command or the admin console to create non-empty passwords for admin accounts. Command enable-secure-admin failed.
akkor egy jelszót kell beállítanunk az adminisztrátornak, mivel az alapértelmezett üres. Ez helyi szerveren nem jelent problémát, mert ott engedélyezett az adminisztrációs felület. Tehát adjunk jelszót az admin felhasználónak:
change-admin-password > Enter admin user name [default: admin]> nyomj entert (alapértelmezett felhasználó) > Enter admin password> nyomj entert (üres jelszó) > Enter admin password> írd be a jelszót > Enter admin password again> erősítsd meg a jelszót
Most próbáljuk újra kiadni az enable-secure-admin parancsot.
enable-secure-admin > Enter admin user name> admin > Enter admin password for user "admin"> jelszó > You must restart all running servers for the change in secure admin to take effect. > Command enable-secure-admin executed successfully.
És ahogy az eredményben is látjuk, indítsuk újra a szervert a parancssorból (a domain1 helyébe írjuk a saját domain nevet. Alapértelmezetten a telepített szerver glassfish3/glassfish/domains/{domain1} könyvtárában található).
restart-domain domain1
Ellenőrizhetjük a beállítást az alábbi parancssal:
get secure-admin.enabled
Ne lepődjünk meg, ha SSL hitelesség elfogadására kérdez rá, nyugodtan fogadjuk el. Ez az alapértelmezetten generált SSL kulcs. Ne felejtsük el ellenőrizni, hogy az /etc/hosts fájlban a localhost neve mellett ott legyen a szerverünk neve is (pl.: debian). Ez fontos, mivel az adminisztrátor figyelő nem indul el, hanem a There is a process already using the admin port 4848 hibaüzenettel leáll a szerver indítása, holott semmien program nem használja a 4848-as portot.
Ha Eclipse Indigo-t használunk, hasznos lehet a GlassFish plug-in telepítései útmutató.
- A hozzászóláshoz be kell jelentkezni