Thanks for clearing that one out...
Soal solution dimana configuration file nya di masukin ke jar...
This totally beats the purpose actually...
Karna tujuan nya kita pake configuration file khan awal nya supaya
configuration ini jadi parameterized..
Jadi bisa di ubah tanpa perlu Œbongkar¹ jar nya...
Metoda paling elegan menurut gue sih parameter ini di feed dari script yang
nge-load jar nya...
java ­jar MainJar.jar db.ur=asdasdasd db.user=zxczxc db.passwd=qweqweqwe
Dapet nilai nya dari mana ituh parameternya? Terserah..
Mau script nya ngebaca properties file? Text parsing sederhana.. Yang udah
gue bilang tadi.. Pake grep sama sed ajah...
Ato mau di Œhardcode¹
Inti nya.. Don¹t try to fix environment issue sih aturan gue...
Kalo emang network nya putus.. Ya udah.. Diem..jangan connect.. Biarin
throw...
Jangan coba benerin... Cari ip lain lah.. Coba schema laen lah.. Coba user
laen lah..


Adelwin Handoyo
- adel...@gmail.com -
Sent from my Mac



From: Martinus Ady H <mrt.itnewb...@gmail.com>
Reply-To: JUG-Indonesia <jug-indonesia@yahoogroups.com>
Date: Tue, 09 Feb 2010 18:36:41 +0700
To: JUG-Indonesia <jug-indonesia@yahoogroups.com>
Subject: Re: [JUG-Indonesia]  Re: Membuat Koneksi Java Mysql dari textfield

jancrot wrote:
>> U're reinventing the wheel...
>>
>> Hal ini khan udah ada di interface DataSource
>>
>> Kenapa di bikin ulang?
> 
> Ada ya? Waw..
> Btw, kenapa ga dikasi tau dari awal ke orang yang nanya? Kalo gua jadi elu sih
lebih baik gua kasi tau dari awal ketimbang ngomong "Gue lagi mikirin kenapa lu
mau property2 ginian jadi editable by user"...
> 
> 

Mungkin maksud pak Adelwin itu gini loh, drpd bikin 1 class lagi yg
ngurusin username, hostname, password. Knp ga pakai DataSource yg emang
by default udah ada disetiap driver jdbc (?) Klo di MySQL sih bisa pakai
MySQLDataSource[1], di class ini terdapat method2x yg udah pak Jancrot
sebutin.

> Adelwin wrote:
> contoh nya... kalo pake some kind of container... yang membatasi disk
access... contoh paling gampang nya oracle container...
> 
> ini enggak bisa di jalanin... ituh file name nya relative, relative darimana?
Dan container nya oracle juga gak nyimpen file di disk...
> 
> ato contoh lain nya...
> di corporate environment,
> 
> management pasti lebih milih gimana pun caranya supaya walopun mesin nya di
pindah... ato db nya di pindah mesin pun... IP nya harus tetep sama...
> 
> karna mendingan effort ngerubah IP di satu mesin daripada ngubah configuration
di semua app...
> 
> blablablablablabla
> 
> banyak pertimbangan lah...
> 
> maksud gua tuh... gak ada satu cara pun yang mutlak bener...
> 
> If it works for you... then it's right...
> 
> Kalo tetep mau pake textfield...
> 
> Assuming lu pake plain JDBC yah...
> 
> JTextField dbURLTextField = new JTextField(); //mendingan di kasi default
value... trust me...dari pada ngetik url melulu...
> 
> //code to put the textfield onto the containerPane
> 
> Lalu on button click...
> 
> String dbUrl = dbURLTextField.getText();
> 
> Connection connection = DriverManager.createConnection(dbUrl);
> 
>  
> 
> Maap kalo kepanjangan :p

Klo misalkan tuh file jdbc.properties dimasukin ke dalam jar juga gmn ?
:D Jd bikin 1 project isinya cuma file tsb :) Trs nanti panggilnya pakai
  MyClass.getResourceAsStream("/nama/packages/tempat/file/jdbc.properties");
Klo modelnya spt ini, ga akses ke file yg diluar kan. Tapi tetep akses
ke file *jar dan *.jar ini dijadikan sebagai dependencies di aplikasi.
Pasti deh ke load :D


> Soalnya saya ga ada hubungan langsung atau bukan programmer perusahaan itu.
Jika suatu saat koneksi database di ganti kan tinggal input di kolom kolom aja.
saya juga mendistribusikannya dengan .jar. Sehingga ketika di build source
codenya ga bisa diganti lagi.
Ok deh, klo emang requirement-nya spt itu. Buat gini aja (intinya sih
tetep baca file properties :D). Klo misalkan aplikasinya konek ke server
n ga bisa (error) pasti keluar stack trace-nya kan ? Nah di dalam block
try catch-nya coba di redirect ke halaman modifikasi database
connection. Nah disini timbul masalah, emang smua user boleh se-enak
sendiri modifikasi koneksi ? Solusi-nya pakai default password yg ga di
simpan ke database (Bisa dimasukkin ke file properties juga utk isian
default password). Nah default password ini kasih ke *admin* di client,
nah sampai sini mungkin *udah* sedikit terselesaikan. Tp ada lagi loh
masalah-nya, gmn klo misalkan ada bbrp aplikasi web yg konek ke 1 db,
dan di tempat yg terpisah ? Mau ga mau ya tetep hrs edit 1-1 :D

Kira-2x sampai sini dpt gambaran ? Klo udah, sekarang gmn nerapin-nya?
Caranya bikin 1 project yg isinya cuma file properties tersebut
(katakanlah nama project-nya com.jug.config) kemudian build biasa biar
jadi sebuah file *.jar. Setelah jd file *.jar tambahkan sebagai library
ke aplikasi utama.

Nah masalah ada, kan tuh file properties isinya plain text. Gmn donk klo
spt ini ? Yah bisa banyak macam cara sih utk enkripsi, cara paling
gampang pakailah jasypt[2] utk enkrip file properties :)

Nah klo smua-nya udah jadi, sekarang gmn cara bacanya ? Nah klo ini bisa
dicari di google :D Klo ga salah bisa dibaca pakai method
.getResourceAsStream deh :D (CMIIW)

[1] 
http://www.docjar.com/docs/api/com/mysql/jdbc/jdbc2/optional/MysqlDataSource
.html
[2] http://www.jasypt.org/
-- 
Regards,

Martinus Ady H.
Registered Linux User #410906
Personal Blog       : http://martinusadyh.web.id/
Planet NetBeans ID  : http://planetnetbeans.org/id/index.html
Planet Slackware ID : http://planet.slackware-id.org/


------------------------------------

Kalau mau keluar dari mailing list ini, caranya kirim sebuah email ke
jug-indonesia-unsubscr...@yahoogroups.com.

Jangan lupa, website JUG Indonesia adalah http://www.jug.or.id

Yahoo! Groups Links




Kirim email ke