eclipse axis problemleri ve çözümü

elimde bir wsdl var tahminim 2005 den kalma. bu wsdlden webservisi oluşturmam lazım. evvela wsimport ile denedim ama

src-resolve.4.2: Error resolving component ‘soapenc:Array’. It was detected that ‘soapenc:Array’ is in namespace

ve bir sürü devamı var. denedim bişeyler import etmeyi ama gözümde kesmedi şimdi servisi bozmuş olurum fark etmeden. axis2 ile denedim oda buna benzer bir hata verdi. sonunda zaten wsdl 2005 den kalma axis1.4 le yapabilirim diye düşündüm. eclipse le bir güzel oluşturdum deploy.wsdd ve undeploy.wsdd falan çıktı. classlar hazır implementasyonu belli ama localhostdan kendisine ulaşamıyorum 🙂

http://localhost:8080/services/servisPort?wsdl

bu adresden wsdli vermesi lazım. ama böyle bir servis yoktur diyor. okurken öğrendimki webserverı çalıştırdıktan sonra

java -cp $(for i in ~/tools/axis-1_4/lib/*.jar ; do echo -n $i: ; done). org.apache.axis.client.AdminClient -lhttp://localhost:8080/services/AdminService deploy.wsdd

komutunu çalıştırmak gerekiyormuş. buda o esnada çalışan axis sistemine elde yazılı olan servisi load ediyor. ama uygulama start olduğunda bunu yapıyor olması lazım. ve arada bir exception gözüme çarpıyor.

server-config.wsdd bulanamadı hatası. önce deploy.wsdd nin ismini değiştirip direk bu dosya gibi yazdım bu sefer servis wsdl i gelmiyor ama servis var gibi. ulaşmaya çalışınca gelmiyor 🙂 neyse araştırırken öğrendim server config wsdd nasıl oluşturulur

cd webapps/axis/WEB-INF
java -cp $AXIS_CLASSPATH org.apache.axis.utils.Admin server deploy.wsdd

bulunan servera configi çıkarıyor. amma uzun sürdü bir servis ayarlaması. bazen bu tip durumlarda vs.net ve asmx i özlemiyor değilim orda bir webservisi yapmak genelde 10 bilemedin 30 dk lık iş. bu yaklaşık 5 saatimi aldı. gerçi bu wsdl ile .netde bir sürü arıza çıkarabilirdi ya neyse 🙂

REDIT
ahahaha çok güldüm kendime. ulan axis taglı başka yazı varmı diye bloga bakındım buyrun vs.net lede bu bazı wsdlleri çalışır duruma getirmek çok zaman alıyormuş 🙂

ufak bir java testi yaptım

benchmark işinden anlamam ama sakin sakin her önüme geleni uygularım durum şudur.

http://www.ibm.com/developerworks/java/library/j-benchmark1/index.html
adresdeki kodları java 1.6 1.7 ve jrockit için çalıştırdım aldığım sonuçları yayınlamak istedim. hesapta jrockit çok hızlı olmalıydı ama hiç bir parametre vermeyip çalıştırdığımda aldığım sonuçlar aşşağıdadır.

jrockit – Execution time: 666.827578 milliseconds
java 1.6 – Execution time: 63.405173999999995 milliseconds
java 1.7 – Execution time: 47.170781 milliseconds

java 1.7 – Execution time: 7.730915779 seconds to compute result = 1580674560
jrockit – Execution time: 108.46286744800001 seconds to compute result = 1580674560
java 1.6 – Execution time: 7.7936518580000005 seconds to compute result = 1580674560

bir ara zamanım olunca parametreleriylede denerim 🙂 ama herhangi bir parametre vermeyince 1.7 sanki hızlı gibi =)

ubuntu tora oracle kurmak

apt repodan gelen tora ubuntuda direk oracle a bağlanmıyor. onun için tora-oracle indirmek gerekiyor.

https://code.launchpad.net/tora-oracle

bu adresden sisteminize uygun olanı seçin ben natty seçtim. debi indirdim dpkg -i ile kurmayı denedim oracle instant client yok dedi.

http://www.oracle.com/technetwork/database/features/instant-client/

bu adresden de oracle-instantclient11.2-basic-11.2.0.2.0.x86_64.rpm yi çektim alien ile debini oluşturdum. önce instant client sonra tora-oracle kurdum. ve tora libclntsh.so.11.1 bulamamakdan şikayetçi oldu. oda ldconfig ile şöyle çözüldü. evvela “nano /etc/ld.so.conf.d/oracle.conf” oluşturuyoruz/açıyoruz. içine “/usr/lib/oracle/11.2/client64/lib/” yazın kapatın sonra “sudo ldconfig” veriyorsunuz ve işlem tamam tora açıldı.

connect için parametreler screen shotdaki gibi olucak.

database e bağlanıp işlem yapabiliyorsunuz artık. commit etmeyi unutmayın tora sanırsam her işlemi anında commit etmiyor.

iyi çalışmalar.

linuxde cpu sıcaklığı nasıl görülür

bir ara makinem durup durup kendiliğinden kapanıyordu. kurcalarken kurcalarken anladım işlemci 100 dereceyi geçince makine kendiliğinden kapanıyor. cpu yu makineden çıkardım ve fanla metal arasını kulak temizleyeceğiyle temizledim parmak kadar toz birikmiş doğal olarak işlemci soğumuyordu. neyse şimdiki hali şudur.

sensors
k10temp-pci-00c3
Adapter: PCI adapter
temp1: +34.9°C (high = +70.0°C)

34.9 derece. ki kapakları falan takılı kasanın 1 senedir falan bu bir ilk 🙂 neyse komutuda görmüş olduk. sensors komutu linuxde işlemci ve başka detayları kernelin gördüğü kadar döker.

ufak bir java projesi ve cache

dünden beri basit bir java cache sistemim olsun diye bakınıom. evvela oscache artık ölü. birçok yerde shiftone cache4j görmüşünüzdür bunlarda son 2 senedir falan update olmayan eski cache sistemleri. aslında eski teknolojiye karşı falan değilim amacım sadece öğrenmek. bu arada uzun süredir oscache kullanıyorum onun hızından memnunum production level işler için gidilebilecek bir yol.

asıl gözüme batan ehcache in 2.4.2 versiyonu oldu. basit bir kod yazdım içinde ehcache init de ediliyor ve logda gördüğümden huylandım. 2.4.2 biraz eski bir versiyon şu an sanırım 2.4.5 falan var. neyse bi baktım ehcache init olduğunda sitesine gidip bakıyor ve yeni versiyonu varsa uyarı veriyor 🙂 benimde tek ürünüm ehcache olsa böyle bişey yapardım bu sayede kaç kişi kullanıyor takipde edilir. ama bir cache sistemi bunu yapmamalı diye karar verdim JCS ile yoluma devam ettim. long live JCS.

bu arada bundan 5 ay kadar önce mesul olduğum projelerden birinde oscache den jcs ye geçiş yapmıştım gözle görülür farkla oscache jcs den hızlı. tabii jcs diskde tutabiliyor tcp ile serverlar arası iletişim sağlıyor gibi birçok özelliği mevcut. direk oscache e geri döndüm.

geçen günde infinispan deniyim dedim oda yüksek rakamlarda kanırdı. işlem yaptığım döküman sayısı yaklaşık 11 milyondu.  ve hibernate search ile indexlenen data yaklaiık %90 da kalmıştı ve üstünden 12 saat geçmişti 🙂 doğal olarak iptal ettim ve bıraktım.

glassfishde sembolik link yerine ne yapılır

eskiden web uygulamasının içine gidilip ln ile link atılırdı resimlerin falan bulunduğu path için. artık

<property name=”alternatedocroot_1” value=”from=/orderstore/* dir=C:/stryker_cci/orderstore”/>

ile link veriliyor bu sayede açılışta glassfish tıkanmıyor. diğer durumda “glassfish waits forever”. ln ye gerek kalmıyor direk glassfish web xml de kaynak yeri bildirilmiş oluyor tertemiz.

daha detaylı açıklama için

http://wikis.sun.com/display/GlassFish/FaqAlternateDocrootResourcePath

java turkish currency

I was implementing some stuff in java and there I needed to show number as currency in turkish. here it comes


NumberFormat nf = NumberFormat.getCurrencyInstance(new Locale("tr","TR"));
System.out.println(nf.format(123));

output:

123,00 TL

in default jvm thinks you choose US or it will check the system current environment. but if you like to change it. you can do the code above.