J2EE Maven Projelerinde Glassfish’e Deploy

NetBeans üzerinde J2EE uygulamalarını maven ile geliştirmeye yeni başlayanların ilk karşılaştıkları sıkıntı; projeyi sağ tıkladıklarında deploy özelliğini görememektir. Bu yazıda size projeyi kısa yoldan glassfish e deploy etmek için gerekli ayarlamaların nasıl yapılacağını anlatacağım.

“C:\Users\Ahmet\.m2” dizini aldıtna “Settings.xml” adında içeriği aşağıdaki gibi olan bir xml dosyası oluşturun.

Sonra projemizin ear dosyasını sağ tıklayıp Open POM diyelim. Yada ear klasörü içindeki pom.xml dosyanızı manuel olarak da açabilirsiniz.
Pom.xml in Plugins tagı altına aşağıdaki xml kodlarını yapıştırın.

  • Ear Projenizi sağ tıklayıp Re Load POM tıklayın.
  • Ear projenizi sağ tıklayıp Properties>Actions kısmına girin.
  • Add Custom tıklayın Action Name e Deploy yazın Ok tıklayın.
  • Execute Goals Kısmına “clean install glassfish:deploy” yazın Ok tıklayın.
  • Ear projenizi sağtıklayın Custom menüsü altında Deploy adında oluşturduğumuz Action’ı göreceksiniz.
  • Deploya tıklayarak projeyi clean install yapıp glassfish üzerine deploy etmiş olacağız.

Deploy özelliği dışında aşağıda yazdığım komutları da kullarak glassfishe çeşitli işlemler yaptırabilirsiniz.

glassfish:create-domain
glassfish:start-domain
glassfish:deploy
glassfish:redeploy
glassfish:undeploy
glassfish:stop-domain
glassfish:delete-domain

Önemli Not: Windows işletim sistemlerinde “C:\Program Files\glassfish-4.0\glassfish\bin” altında, uzantısı olmayan “asadmin” dosyasını silmeniz yada adını deyiştirmeniz gerekiyor. Dikkat edin asadmin.bat dosyasını silmeyin. Uzantısız olan dosya silinmez ise deploy komutunu çalıştırdığınız da aşağıdaki hata mesajını alırsınız.
“Failed to execute goal org.glassfish.maven.plugin:maven-glassfish-plugin:2.1: deploy (default-cli) on project ProjeAdi: Deployment of ProjeAdi.war has failed. IOException: Cannot run program ” C:\Program Files\glassfish-4.0\glassfish\bin\asadmin”: CreateProcess error=193, %1 is not a valid Win32 application -> [Help 1]”

GlassFish HTTP Compression

HTTP Compression nedir?

Http işlemleri bilindiği üzere text(yazı) formatlı olarak yapılır. Sıkıştırma algoritmalarının da en başarılı olduğu işlem text sıkıştırma işlemleridir. Bu yüzden http üzerinden bir dosya transferi işleminde 10 mb lık bir xml dosyasını 1 mb a kadar düşürüp, transfer hızını arttırıp bandwidth den de kazanım sağlayabilirsiniz. Fakat JPEG, AVI gibi sıkıştırılmış görüntü veya video, ses dosyalarını transfer edecekseniz HTTP compression işlemi size ek bir maliyet getirecektir. Sıkıştırılmış bir dosyanın tekrar sıkıştırılması boyutunu küçültmez, küçülme olmadığı gibi birde compress ve decompress algoritmaları devreye gireceği için yavaşlama olacaktır.

Şimdi GlassFish Server üzerinden yapılan Http işlemlerini sıkıştırıp network trafiğinden kazanmak için glassfish’in bize sunmuş olduğu ayarlara bakalım.

  1. GlassFish web yönetim arayüzünü açın http://localhost:4848
  2. Configuration->Server Configuration->Network Config->Network Listeners konumuna gidin
  3. Varsayılan olarak http-listener-1 adındaki listener ı tıklayın (Kendi server yapılandırmanızda farklı isim vermiş olabilirsiniz. İlgili listener ı açın.)
  4. HTTP sekmesinde Compression: on yapın.
    On: Sıkıştırma client isterse aktif.
    Off: Sıkıştırma kapalı.
    Force: Sıkıştırmaya zorlar, client istesede istemesede sıkıştırır.
  5. Compression Minimum Size: varsayılan 2048 Byte dır. Bu ayar sıkıştırma işlemi uygulanacak en küçük dosya boyutunu belirtir. 2 kb dan büyük dosyalara sıkıştırma işlemi uygulanacağı anlamındadır.