بِسْـــــــــمِ ﷲِالرَّحْمَنِ الرَّحِيم. اَللَّهُمَّ صَلِّى عَلَى مُحَمَّدٍٍ، وَعَلَى آلِهِ مُحَمَّدٍٍ


Kebanyakan projek yang Tedi terlibat kini menggunakan pelayan GlassFish. Seperti biasa mesti ada masalah, jadi Tedi dedikasikan laman ini untuk catatan masalah yang dihadapi.

Gambar seekor ikan kaca
Gambar seekor Glass Fish. Gambar sekadar hiasan tiada kena mengena dengan cerita ini.
Sumber: Emanuel Goette, alias Crespo: Eclipse GlassFish fue liberado!! (emanuelpeg.blogspot.com)
Kandungan: 

Apakah itu GlassFish?

GlassFish adalah projek sumber terbuka pelayan aplikasi untuk platform Jakarta EE yang dimulakan oleh Sun Microsystems, kemudian ditaja oleh Oracle Corporation, dan kini bernaung di bawah Eclipse Foundation dan disokong oleh Payara, Oracle dan Red Hat. Versi yang disokong di bawah Oracle dipanggil Oracle GlassFish Server.

 


Class name is wrong or classpath is not set for : org.postgresql.ds.PGSimpleDataSource

Ralat semasa cuba setup JDBC Connection Pools untuk postgresql.

Resource Type: javax.sql.DataSource.
Datasource Classname: org.postgresql.ds.PGSimpleDataSource.

Ping Connection Pool failed for <nama JDBC Connection Pools>. Class name is wrong or classpath is not set for : org.postgresql.ds.PGSimpleDataSource Please check the server.log for more details.

 Penyelesaian: Copy lib postgresql postgresql-42.2.19.jar ke /glassfish4/glassfish/domains/domain1/lib/, kemudian restart server. Path adalah mengikut domain yang digunakan.

 


No usable default domain

Masalah

Semasa Tedi nak tambah GlassFish dalam Apache NetBeans IDE 12.2 tiba-tiba sahaja ada mesej yang berbunyi:

No usable default domain. Use Next to create a personal domain.

Apabila Tedi tekan bebutang Next tu NetBeans tambah GlassFish server tetapi gunakan personal_domain. Tedi tak mahu. Tedi nak guna domain1 di mana domain1 adalah default domain.

Penyelesaian

Hidupkan NetBeans IDE sebagai Administrator (klik kanan dan pilih "Run as Administrator").

<top>


No free port within range: 8181

Semasa Tedi run satu projek tu dapat ralat seperti berikut:

Launching GlassFish on Felix platformLaunching GlassFish on Felix platformInfo: Running GlassFish Version: GlassFish Server Open Source Edition 3.1.2.2 (build 5)Info: Registered org.glassfish.ha.store.adapter.cache.ShoalBackingStoreProxy for persistence-type = replicated in BackingStoreFactoryRegistrySevere: doSelect IOExceptionjava.net.BindException: No free port within range: 8181=com.sun.enterprise.v3.services.impl.monitor.MonitorableSSLSelectorHandler@427b6cc7 at com.sun.grizzly.TCPSelectorHandler.initSelector(TCPSelectorHandler.java:432) at com.sun.grizzly.TCPSelectorHandler.preSelect(TCPSelectorHandler.java:378) at com.sun.grizzly.SelectorHandlerRunner.doSelect(SelectorHandlerRunner.java:188) at com.sun.grizzly.SelectorHandlerRunner.run(SelectorHandlerRunner.java:132) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)
Info: Grizzly Framework 1.9.50 started in: 15ms - bound to [0.0.0.0:7676]Info: Grizzly Framework 1.9.50 started in: 46ms - bound to [0.0.0.0:8080]Info: Grizzly Framework 1.9.50 started in: 31ms - bound to [0.0.0.0:4848]Info: Grizzly Framework 1.9.50 started in: 15ms - bound to [0.0.0.0:3700]Info: The Admin Console is already installed, but not yet loaded.Info: GlassFish Server Open Source Edition 3.1.2.2 (5) startup time : Felix (1,313ms), startup services(540ms), total(1,853ms)Severe: Shutting down v3 due to startup exception : No free port within range: 8181=com.sun.enterprise.v3.services.impl.monitor.MonitorableSSLSelectorHandler@427b6cc7Info: Server shutdown initiatedInfo: Already stopped, so just returning

Punca: Seperti yang dinyatakan dalam log, port 8181 telah digunakan oleh sistem lain. Tedi telah install Jenkins dan run Jenkins pada port 8181. huhuhu. Tolong ingat ya pasal masalah ini, kalau tidak ingat sila rujuk sini.. hihihi. 
Penyelesaian:  Penyelesaiannya ialah matikan sahaja Jenkins atau untuk penyelesaian jangka panjang sila configure Jenkins untuk guna port lain.
Untuk matikan Jenkins sila ke C:\Program Files\Jenkins (atau folder di mana Jenkins anda dipasang) dan run cmd script "jenkins.exe stop".
Untuk tukar konfigurasi jenkins sila sunting fail bernama jenkins.xml.
 

 


There is a process already using the admin port 4848

Masalah semasa nak restart-domain

NCLS-ADMIN-00010
Server is not running, will attempt to start it...
There is a process already using the admin port 4848 -- it probably is another instance of a GlassFish server. Command restart-domain failed.

Maka Tedi gunakan sahaja command

ps -ef|grep domain1

kemudian Tedi matikan sahaja process <PID> yang berkenaan yang ditunjukkan selepas kita laksanakan command di atas

kill -9 <PID>

kemudian restart-domain semula. Alhamdulillah berjaya.

<top>


java.lang.ClassNotFoundException: javax.xml.parsers.ParserConfigurationException not found by org.eclipse.persistence.moxy [228]

Buntu juga apabila jumpa masalah macam ni.

Penyelesaian yang digunapakai ialah tukar daripada GlassFish 4.1.1 kepada GlassFish 4.1. Ada penyelesaian yang lebih baik?


~20210422~
jika kiriman ini bermanfaat, tolong lawat iklan yang ada ya, terima kasih