Bir önceki yazıda glassfis port occupied sorunu incelemiştik.Port occupied hatası alınmasada bazen Glassfish server loglara hata sebebi belirtmeden ayağa kalkmamakta ve çalışmamaktadır.Detayları ile bilmeme karşın Bilgisayarın locale settings leri ile ilgili olduğunu düşündüğüm bu hatanın çözümü için aşağıdaki yolun izlenmesi gerekmektedir-Her GF çalışmaması problemi bu sorun ile ilgili değildir bunu da belirteyim-
Öncelikle netbeansın kurulum lokasyonunu buluyoruz.Benimm bilgisayarımda ilgili lokasyon
C:\Program Files\NetBeans 7.4\
şeklindedir .Belirtilen lokasyonun içindeki etc dosyasının içine giriyoruz
C:\Program Files\NetBeans 7.4\etc
Burada yer alan
netbeans.conf
dosyasını editlemek üzere açıp
netbeans_default_options="-J-client -J-Xss2m -J-Xms32m
ile başlayan satırı buluyoruz.Bu satırın -genelde sonuna - şu satırları ekliyoruz
-J-Duser.language=en -J-Duser.country=US
diğer bilgiler gibi boşluk ve sona koymuş isek tırnak ile bitirmeye dikkat etmeliyiz.
Dosyayı kaydederken permission hatası alırsanız dosyayı masaüstünüze kopyalayıp editledikten sonra
C:\Program Files\NetBeans 7.4\etc
pathindeki dosyanın üzerine kayıt edebilirsiniz.
7 Ekim 2014 Salı
Netbeans Glassfish problemleri - Port is occupied ve start problemleri
Yukarıdaki hata daha önce kurulmuş herhangi bir uygulamanın 8080 port unu kullanmasından kaynaklanmaktadır.Basit çözüm olarak glassfish domain.xml dosyasından port configurationlarının değiştirilmesi gerekmektedir
sizeAitGlassfishPathi\GF_4.0\domain1\config dosyasının altındaki domain.xml dosyasını bulup editlemek üzere açınız.Benim glassfishim ve oluşturduğum domainin pathi aşağıdaki resimde yer almaktadır.
Kendi GF nizin domain.xml dosyasını bulmak için services>servers>kullanılan GF>Sağtık>properties opsiyonuna tıklayın.
domain\config dosyasını açtıktan sonra editlemek üzere açmış olduğunuz domain.xml dosyasında 8080 portunu aratın yada aşağıdaki resimdeki olanxml elementlerini bulun.Benim yaptığım gibi kullanılmasının ihtimal dışı olacağını düşündüğünüz port numaralarını sarı ile boyanmış kısımlara yazın-Diğer kısımlara dokunmayın.Netbeans i ve Glassfish i kapatıp açın .Farklı bir sorun yoksa port - occupied hatası yok olacaktır
sizeAitGlassfishPathi\GF_4.0\domain1\config dosyasının altındaki domain.xml dosyasını bulup editlemek üzere açınız.Benim glassfishim ve oluşturduğum domainin pathi aşağıdaki resimde yer almaktadır.
Kendi GF nizin domain.xml dosyasını bulmak için services>servers>kullanılan GF>Sağtık>properties opsiyonuna tıklayın.
domain\config dosyasını açtıktan sonra editlemek üzere açmış olduğunuz domain.xml dosyasında 8080 portunu aratın yada aşağıdaki resimdeki olanxml elementlerini bulun.Benim yaptığım gibi kullanılmasının ihtimal dışı olacağını düşündüğünüz port numaralarını sarı ile boyanmış kısımlara yazın-Diğer kısımlara dokunmayın.Netbeans i ve Glassfish i kapatıp açın .Farklı bir sorun yoksa port - occupied hatası yok olacaktır
6 Ekim 2014 Pazartesi
Simple XML
Java da xml marshall ve unmarshall işlemleri için kullanılabilecek farklı implementasyonlar mevcut bunlardan en çok tercih edileni artık Java 6 dan sonra standart javada da yer alan JAX-B dir.
Toplam boyutun önemli olduğu uygulamalarda toplamda 9 MB ulaşan boyutu ile bir android uygulaması için normal görülebilecek boyut hakkının 50% sini gasp etmektedir bu da bizi farklı bir arayışa yönlendirmektedir.Kullandıkça aslında JAX-B den daha mı iyi diye düşünmeme sebep olan Simple XML böyle durumlarda kapladığı minumum alan ile oldukça uygun bir çözüm gibi gözükmektedir.
Simple xml i aşağıdaki linkten indirebilir örnekleri inceleyebilirsiniz:
http://simple.sourceforge.net/download.php
Jax-B ve simple xml karşılaştırması için aşağıdaki yazıyı okuyabilirsiniz :
http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html
Haftanın içinde day bilgisini tutmak için yapı simple xml de aşağıdaki gibi kurulabilir
xml deki attrribute kısımları bozuk çıkmış olabilir value olması gerekmektedir aksi değerleri dikkate almayınız.
Simple xml i aşağıdaki linkten indirebilir örnekleri inceleyebilirsiniz:
http://simple.sourceforge.net/download.php
Jax-B ve simple xml karşılaştırması için aşağıdaki yazıyı okuyabilirsiniz :
http://blog.bdoughan.com/2010/10/how-does-jaxb-compare-to-simple.html
Haftanın içinde day bilgisini tutmak için yapı simple xml de aşağıdaki gibi kurulabilir
@Root
public class Day {
@Attribute
private String value;
public Day(){
}
public Day( String value) {
this.value = value;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
}
Ve day classını içinde bulunduran Week classı
@Root(name = "week")
public class Week {
@Attribute(name="value")
private String value;
@ElementList(inline = true)
private List dayList;
public Week(){
}
public Week(String value, List dayList) {
this.value = value;
this.dayList = dayList;
}
public String getValue() {
return value;
}
public void setValue(String value) {
this.value = value;
}
public List getDayList() {
return dayList;
}
public void setDayList(List dayList) {
this.dayList = dayList;
}
}
Serialize etme işlemi Jax-B deki marshall işlemine karşılık gelir ve aşağıdaki gibi yapılır
public static void main(String[] args) {
Day day=new Day("Pazartesi");
List dayList=new ArrayList();
dayList.add(day);
Week week =new Week("1",dayList);
File file= new File("C:\\Abdurrahman\\output.xml");
Serializer serializer=new Persister();
serializer.write(week,outputFile);//Yazmak icin
Week readWeek=serializer.read(Week.class,file);//Okumak icin
}
Sonuç olarak aşağıdaki XML elde edilir
org.simpleframework.xml.core.PersistenceException: Constructor not matched for
şeklinde bir hata alırsanız Tüm Pojo larınıza yada entity lerinize boş constructor ekleyiniz .
Kaydol:
Kayıtlar (Atom)