Sorry yg tadi ga kasih alasan yg kongkrit. ini mungkin membantu :)

http://blogs.sun.com/chengfang/entry/do_s_and_don_ts

2009/5/9 Achmad Arif Rachim <a...@rach.im>:
> Ahhhh mungkin ini bisa memberikan pencerahan :)
>
> http://www.theserverside.com/discussions/thread.tss?thread_id=54022
>
> 2009/5/9 Achmad Arif Rachim <a...@rach.im>:
>> Hehehehe ini  ternyata kasusnya adalah salah cara make SFSB :).
>>
>> Ini pasti niruin sample dari SLSB, atau bisa jadi ini dapet contoh
>> Sample yg ngawur kekekekekekeke.
>>
>> Kalau kita taruh SFSB kedalam attribute Controller, kita harus tahu
>> lifecycle dari controller tersebut. Kalau kontroller tersebut di
>> instantiate setiap new request berarti ya kaga ada gunanya make SFSB
>> hehehehehehhe, sami mawon sama SLSB. Kalau controller kita berupa
>> servlet, berarti SFSB bakalan dipake berulang2 kali setiap ada
>> request.
>>
>> Nah cara penggunaan SFSB yg tepat bisa dengan 2 alternatif :
>>
>> 1. Kamu menghandle sendiri Proses penyimpanan SFSB reference object
>> kedalam HttpSession, dan meremove setelah selesai.
>> 2. Alternatifnya, kamu menggunakan Controller yg memiliki Scope
>> Conversation,  seperti kebanyakan framework jaman sekarang.
>>
>> Nah kalau kamu menggunakan framework yg memiliki conversation scope,
>> artinya, instance dari controller kamu itu secara otomatis, di
>> initiate pada saat conversation begin, dan berakhir saat conversation
>> end. Dan artinya, satu conversation controller dimiliki oleh satu
>> user. Sehingga kamu bisa inject SFSB @EJB didalam attribute controller
>> kamu. Contoh framework yg support Conversation misalnya Spring, Seam,
>> Google Guice.
>>
>> Tapi kalau kamu menggunakan controller yg  Application Scope,
>> contohnya Servlet. Servlet di instantiate oleh container, dan
>> digunakan berkali2 setiap ada request dari user yg beda. Nah kalau
>> kamu pakai Servlet, kamu tidak boleh meng-inject SFSB kedalam
>> attribute servlet. Sebab ini sama juga artinya men-sharing SFSB itu ke
>> setiap request untuk semua user.
>>
>> Sama halnya juga dengan controller yg Request Scope. Ini contohnya
>> seperti WebWork, instance dari controller nya diinstantiate setiap ada
>> request. Nah kamu juga tidak boleh menempatkan SFSB kedalam attribute
>> controller ini. Sebab setiap request berarti kamu harus me lookup SFSB
>> lagi.
>>
>> Nah, untuk Application Scope dan Request Scope controller, cara
>> menggunakan SFSBnya adalah dengan melookup SFSB dari jndi didalam
>> method, kemudian disimpan kedalam HttpSession.
>>
>> :) Cheers !
>>
>
>
>
> --
> Warm Regards,
> Arif Rachim
>



-- 
Warm Regards,
Arif Rachim

Kirim email ke