صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 45

نام تاپیک: لپ كلام jndi

  1. #1

    Thumbs down لپ كلام jndi

    دوستان عزيز من هر كاري ميكنم نمي تونم به اسم jndi‌كه تو netbeans تعريف كردم دسترسي پيداكنم.منظورم از طريق application.ميشه دوستان عزيز يك مثال خيلي ساده لينك كنن كه توش يك application client از طريق jndi‌به يك ejb module دسترسي پيدا ميكنه.البته اين مثال رو من پيدا كردم اما وقتي فايل كلاينت رو بيرون از netbeans احرا ميكنم err عدم دسترسي ميده.
    http://www.netbeans.org/kb/61/javaee...ml:خجالت:

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    شما باید اول از همه مشخص کنید که web applicaton تون چی هست. بعد از اون که مشخص شد تازه یک سری تنظیمات ما داریم که بر اساس web application انجامی می دیم. بعد از اینکه این تنظمات انجام شد به سراغ JNDI می ریم. اگر دارید با ejb container کار می کنید باید مشخص کنید که دارید از session ها استفاده می کنید اونهم از remote یا ایینکه از message container.

    مشخصات دقیق بدین راهنماییتون می کنم.

  3. #3

    نقل قول: لپ كلام jndi

    فكر ميكنم اين مثالي كه تو لينك داده session باشه.
    خوب پس نتيجه اخلاقي اين ميشه كه session رو توضيح بديد

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    فكر ميكنم اين مثالي كه تو لينك داده session باشه.
    خوب پس نتيجه اخلاقي اين ميشه كه session رو توضيح بديد
    اینجا مگه آموزشگاست .

    session در هرجا معنی خواص خودشو داره. من نمی دونم مربوط به کدوم قسمت رو میخوای بدونی.
    اگر منظورت session bean ها در EJB 3 هستند من به شما پیشنهاد می کنم با این پایه ضعیفی که داری بیخیال بشی و بری اول سراغ مطالب پایه ای تر و اولیه J2EE بهتره.
    نوشتن چند خط کد که معنیشم نمی فهمی و برای اجرای آنها دیگه IDE و نمی دونم آموزش گام گام نمی تونه کمکت کنه.
    باید بشنی وقت بزاری چندین کتاب بخونی بعد کمک بگیری.
    خیلی مفهوم ها ست که باید بدونی. و واقعا من نمی تونم اینجا به همشون توضیح بدم. شما کتاب servlet & jsp ماله core java رو تهیه کن زبان اصلی. با مفاهیم اولیه j2ee آشنا بشو. با یک servlet container آشنا بشو مثل tomcat. تنظیمات و قابلیت ها رو یاد بگیر. پیاده سازی بکن بعد تازه وارد یک دنیای دیگه بشو. همین خودش یک ۲ سالی مشغولت می کنه. عوضش بعد از ۲ سال یک چیزخوب و قوی و با معلومات پر فیلتر شدی. این نظر من. با این تفاسیر برای اینکه باورت بشه که مطالبی که گفتم واقعیت داره من یک مثال ساده HelloWorld رو با ejb3 و session bean ها به اضافه مطلب jndi برای شما می نویسم.

    web application: glassfish

    در قسمت server و مربوط به فسمت business کار که قرار چاپ کنه hello world بعد اونو به سمت client پاس بده از طریق jndi از طرف client این business صدا می شه و رشته تولید شده به سمت client بر گردونده می شه و درسمت کلات رشته hello world چاپ می شه.

    در قسمت server
    import javax.ejb.Remote;

    @Remote
    public interface HelloRemote {
    public String sayHelloWorld();
    }

    حالا نوبت نوشتن session bean هست که از طریق این interface مشخص می کنه که یک بصورت remote هست و باید یک متدود رو پیاده سازی کنه که همون چاپ کردن hellow world است.
    این session بصورت stateless هست. طول عمر کوتاه ودر کنترل ejb container هست. یعنی این ejb container شما هست که بنا به در خواست client از اون instance می گیره و بعدش هم خودش هر موقع که بخواد دخلشو می یاره.
    import javax.ejb.Stateless;

    @Stateless
    public claas HelloBean implements HelloRemote {
    public String sayHelloWorld() {
    return "Hello World";
    }
    }


    حالا بعد از compile کردن این دوتا یک jar فایل درست می کنیم بعد این jar file رو deploy می کنیم توی web application نمون که ejb container داره. می ریم سراغ client و jndi
    اول یک سری نتظمات مربوط به glassfish و بعد یک context که می رهه از طریق jndi اون object مورد نظر که همونی هست که توی EJB Container مون Deploy کردیم رو صدا می کنه و کار تمومه.

    import java.util.Properties;
    import javax.naming.Context;
    import javax.naming.InitialContext;


    /**
    *
    * @author root
    */
    public class Main {


    public static void main(String[] s) throws Exception {
    Properties prop = new Properties();
    prop.setProperty("java.naming.factory.initial", "com.sun.enterprise.naming.SerialInitContextFactor y");
    prop.setProperty("java.naming.factory.url.pkgs", "com.sun.enterprise.naming");
    prop.setProperty("java.naming.factory.state", "com.sun.corba.ee.impl.presentation.rmi.JNDIStateF actoryImpl");
    prop.setProperty("org.omg.CORBA.ORBInitialHost", "localhost");
    prop.setProperty("org.omg.CORBA.ORBInitialPort", "4325");

    Context ctx = new InitialContext(prop);
    HelloRemote h = (HelloRemote) ctx.lookup("HelloRemote");
    System.out.println(h.sayHelloWorld());
    }
    }


    بعد این فایل مثل حالت معمولی با javac کامپایل و اجرا می شه و میره از توی server و business رو صدا می کنه
    الله اکبر داره.

  5. #5

    نقل قول: لپ كلام jndi

    مرسيت باشه جوان
    با اينكه زياد قرو لوند ميكني اما معلومه دلت پاكه
    من چند ماهي ميشه كه دارم با اين jndiوejb سرو كله ميزنم.يه مثال ساده نياز داشتم كه دركش كنم.
    هميشه سوال كردن از يك مبحث بصورت يك مثال دليل بر بيسوادي يا تنبلي نيست.خيلي وقتها آدما مطالعه ميكنن مثل من.من الان بيشتر از 3 مدل كتاب خوندم اما خداييش مطلب رو نگرفتم.شما هم بهتره از اين طعنه زدنهات دست برداري...
    هر كس براي خودش شخصيتي داره
    در هر صورت ممنون كه وقت گذاشتي و يك مثال برام آماده كردي

  6. #6
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    مرسيت باشه جوان
    با اينكه زياد قرو لوند ميكني اما معلومه دلت پاكه
    من چند ماهي ميشه كه دارم با اين jndiوejb سرو كله ميزنم.يه مثال ساده نياز داشتم كه دركش كنم.
    هميشه سوال كردن از يك مبحث بصورت يك مثال دليل بر بيسوادي يا تنبلي نيست.خيلي وقتها آدما مطالعه ميكنن مثل من.من الان بيشتر از 3 مدل كتاب خوندم اما خداييش مطلب رو نگرفتم.شما هم بهتره از اين طعنه زدنهات دست برداري...
    هر كس براي خودش شخصيتي داره
    در هر صورت ممنون كه وقت گذاشتي و يك مثال برام آماده كردي
    سوال کردن از یک مبحث یا سوال مربوط به یک مفهوم؟ این هم مطمعن باش که با مثال نمی تونی مفهوم رو درک کنی.
    می دونی چرا مطلب رو نگرفتی چون من بازم می گم پایه ضعیف هست. پیش نیازهای کتاب رو رعایت نکردی.
    طعنه نمی زنم. اتفاقا جزو معدود کسانی هستی توی این فروم که داری سوالهای خوب مطرح می کنی. من خیلی مشتاق هستم که بیشتر توی زمینه ejb و معماری چندلایه ای و چگونه طراحی و پیاده سازی بحث کنم تا اینکه بیام روش کامپایل کردن رو به یکی بگم. ولی اشتباه نکن که تدریس کردن هم جاش اینجا نیست. دوست دارم سوالها در سطح پیاده سازی باشه نه مفهوم های اولیه و تئوریک. می دونی دوست دارم exception بنادازی توی صفحه. بعد بگی من یک چند روزی هست دارم با این exception زندگی می کنم ولی نمی تونم از پسش بر بیام. اون موقعست که منم نا خودآگاه می ندازی تو هچل.
    exception آدم و بزرگ می کنه
    من به شخصیت هیچ کس توهین نکردم. اگر می گم بخون گفتم همیشه اولش به خودم می گم. بعد می آیام بکسی دیگه می گم. اگر فکر می کنی به شخصیت توهین شده من از تو معذرت می خوام. منظوری نداشتم.
    طعنه می زنم که از لج منم که شده بری بخونی
    بازم سوال داشتی بپرس مطمعن باش جواب از من داری

  7. #7

    نقل قول: لپ كلام jndi

    یه سوال برام پیش اومده.به این کد نگاه کن .فرق این JNDI که شما گفتین با این یکی چیه؟
    java.lang.Object ejbHome =
    initialContext.lookup(
    "java:comp/env/com/mycompany/accounting/AccountEJB");
    accountHome =
    (AccountHome)javax.rmi.PortableRemoteObject.narrow (ejbHome, AccountHome.class);
    یچیزی هم قبلش بگم بجون آقا من کتاب می خونم .core j2ee و ‌دوتا کتاب دیگه اما مباحث jndi اون خیلی کمه.مباحث مربوط به remote و session رو هم بلدم.امامشکل من مربوط به این مبحثه.در مورد مثالی هم که آوردی یه مشکلی باهاش دارم .کتابخونه های من ناقصه

  8. #8
    کاربر دائمی آواتار cups_of_java
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    40
    پست
    1,544

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    یه سوال برام پیش اومده.به این کد نگاه کن .فرق این JNDI که شما گفتین با این یکی چیه؟

    یچیزی هم قبلش بگم بجون آقا من کتاب می خونم .core j2ee و ‌دوتا کتاب دیگه اما مباحث jndi اون خیلی کمه.مباحث مربوط به remote و session رو هم بلدم.امامشکل من مربوط به این مبحثه.در مورد مثالی هم که آوردی یه مشکلی باهاش دارم .کتابخونه های من ناقصه
    مثالی که شما زدی برای گرفتن reference به شی Home برای دسترسی به EJB های Remote هستش که در نسخه 2.1 کاربرد داشته.

    مثال javaphantom برای EJB3 هستش که دیگه از شی Home خبری نیست و کار برنامه نویس راحت تر شده.

  9. #9
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط cups_of_java مشاهده تاپیک
    مثالی که شما زدی برای گرفتن reference به شی Home برای دسترسی به EJB های Remote هستش که در نسخه 2.1 کاربرد داشته.

    مثال javaphantom برای EJB3 هستش که دیگه از شی Home خبری نیست و کار برنامه نویس راحت تر شده.
    کلیت سوال مربوط به java naming and directory interface هست. هیچ ربطی به معقوله ejb نداره که حالا بخواد مربوط به نسخه چندم ejb باشه.
    وقتی صحبت از RMI یا همون Remote Method Invocation می شه، سر کله jndi هم پیدا می شه.

    علت اینکه من به سراغ مثال از ejb شدم به این علت بود که از jndi به session پریدیم و من حدث زدم که شاید منظور از session ودر کنار اون jndi باید منظور اصلی ejb session باشه. برای همین به سراغ مثال از ejb شدم.

    شما برای دسترسی به ejb session های remote باید از jndi استفاده کنید مخصوصا وقتی بخواهید مقداری بازگشتی داشته باشید یعنی مانند مثال من یک رشته از سمت server از طریق remote به سمت client بر گردونده بشه.

  10. #10

    نقل قول: لپ كلام jndi

    من یه مشکلی دارم با jndi
    وقتی اجرا میکنم این پیغام میاد
    javax.naming.CommunicationException: Can't find SerialContextProvider [Root exception is org.omg.CORBA.COMM_FAILURE:
    میشه کمکم کنید

  11. #11
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    من یه مشکلی دارم با jndi
    وقتی اجرا میکنم این پیغام میاد
    javax.naming.CommunicationException: Can't find SerialContextProvider [Root exception is org.omg.CORBA.COMM_FAILURE:
    میشه کمکم کنید
    کدی رو که نوشتی بفرست بیاد اینجا

  12. #12

    نقل قول: لپ كلام jndi

    دقیقا هموناییه که تو مثال netbeans برات لینک کردم در اول این بحث
    وقتی کد های properties شمارو وارد نمیکنم کار میکنه اما وقتی کد های قسمت properties رو وارد میکنم این پیغام خطا میاد که گفتم.

  13. #13

    نقل قول: لپ كلام jndi

    میشه بپرسم این شماره پورتی که دادید همون شماره پورت glassfish ؟
    شماره پورت glassfish که رو سیستم من باز شده 10701

  14. #14
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    میشه بپرسم این شماره پورتی که دادید همون شماره پورت glassfish ؟
    شماره پورت glassfish که رو سیستم من باز شده 10701

    دوتا jar file باید به classpath برنامه client خودت اضافه کنی.
    میری توی شاخه glassfish توی lib اونا این دوتا فایل appserv-rt.jar, javaee.jar
    بعد از properties من استفاده کن

  15. #15

    Unhappy نقل قول: لپ كلام jndi

    ممنون از اینکه وقت میزاری.اما هنوزم مشکل داره.
    وقتی با پورت ۴۳۲۵ تست میکنم این پیغام میاد
    WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 4325"
    اما وقتی با پورت ۱۰۷۰۱ تست میکنم م۱۰ ثانیه مکث میکنه و بعد این پیغام میاد
    javax.naming.CommunicationException: Can't find SerialContextProvider [Root exception is org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe]
    اون فایهایی رو هم که گفتی تو شاخه lib نرم افزارnetbeans خودم add کردم اما متاسفاهنه هنوز همین پیغام رو میده

  16. #16

    نقل قول: لپ كلام jndi

    منظورم شاخه libraries پروژه client تو netbeans بود

  17. #17
    کاربر دائمی آواتار cups_of_java
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    40
    پست
    1,544

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط javaphantom مشاهده تاپیک
    کلیت سوال مربوط به java naming and directory interface هست. هیچ ربطی به معقوله ejb نداره که حالا بخواد مربوط به نسخه چندم ejb باشه.
    وقتی صحبت از RMI یا همون Remote Method Invocation می شه، سر کله jndi هم پیدا می شه.

    علت اینکه من به سراغ مثال از ejb شدم به این علت بود که از jndi به session پریدیم و من حدث زدم که شاید منظور از session ودر کنار اون jndi باید منظور اصلی ejb session باشه. برای همین به سراغ مثال از ejb شدم.

    شما برای دسترسی به ejb session های remote باید از jndi استفاده کنید مخصوصا وقتی بخواهید مقداری بازگشتی داشته باشید یعنی مانند مثال من یک رشته از سمت server از طریق remote به سمت client بر گردونده بشه.
    حرف من سر JNDI نبود. سوال این بود که فرق این دو کاریرد JNDI چیه! منم گفتم که دومی مال زمانی بود که مجبور بودیم برای دسترسی به شی HOME در EJB2.1 از narrow استفاده کنیم ولی در EJB3 (مثال شما) می شه بطور مستقیم cast کرد و با خود شی EJB کار کرد.

    وگرنه ایشون باید بدونه که JNDI چیه و چه کاریرد هایی داره...!

  18. #18
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    ممنون از اینکه وقت میزاری.اما هنوزم مشکل داره.
    وقتی با پورت ۴۳۲۵ تست میکنم این پیغام میاد
    WARNING: "IOP00410201: (COMM_FAILURE) Connection failure: socketType: IIOP_CLEAR_TEXT; hostname: localhost; port: 4325"
    اما وقتی با پورت ۱۰۷۰۱ تست میکنم م۱۰ ثانیه مکث میکنه و بعد این پیغام میاد
    javax.naming.CommunicationException: Can't find SerialContextProvider [Root exception is org.omg.CORBA.COMM_FAILURE: vmcid: SUN minor code: 208 completed: Maybe]
    اون فایهایی رو هم که گفتی تو شاخه lib نرم افزارnetbeans خودم add کردم اما متاسفاهنه هنوز همین پیغام رو میده
    خوبه داری پیش رفت می کنی. مشکل از نتظیمات glassfish. با browser میری توی نتظیمات glassfish
    بصورت default توی glassfish در سطح admin روی port 4848 می باشد.
    کافی توی browsers توی address bar بزن یعنی بنویس localhost:4848 بعد صفحه تنظیم glassfish ظاهر می شه
    با زدن username & password برای سطح دسترسی admin که خودت قبلا تنظیم کردی وارد تنظیمات glassfish از طریق brower می شی. اون پایین سمت چب فسمت configuration کلیک می کنی بعد ORB بعد IIOP Listener بعد ORB-Listener-1 روی اون کلیک می کنی صفحه جدید کنارت سمت راست refresh می شه بعد Listener port رو به او عددی تغییر بده که توی properties مقدار دادی . بعد save کن . دباره اجرا کن

  19. #19

    Wink نقل قول: لپ كلام jndi


  20. #20
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    اینا یعنی چی؟ بدردت خوردم یا نه؟

  21. #21

    Cool نقل قول: لپ كلام jndi

    قربون پسر برم من ...
    جواب داد..اونم چه جوابی ولی یه غلط املایی داشتید..البته ببخشیدا...شما جای استادمی اما خوب چون بقیه هم ممکنه بخوان استفاده کنن اینو گفتم.تو خط
    (HelloRemote) ctx.lookup("HelloRemote");
    گفته بودید که درستش اینه
    (HelloRemote) ctx.lookup("HelloBean");
    .در ضمن من یک مشکلی دارم.وقتی کامپایل میکنم پیغام میاد که فایل HelloBean پیدا نشد.من این کارو کردم و مشکل حل شده.فکر کنم مشکل از netbeans 6.5 باشه چون تو 6.1 این مشکلو نداشتم.
    @Stateless(mappedName="HelloBean")
    در کل ممنون.خیلی کمک کردید.خداییش اینا رو من تو هیچ کتابی ندیدم که گفته باشه.لا اقل تو اون ۳ تا کتابی که من داشتم.یعنی اگه ۲ سال هم وقت میزاشتم باز به جواب نمی رسیدم بخدا.
    بازم ممنون.من که دیگه ول کنت نیستم.کلی سوال دارم که به ترتیب ازت میپرسم.گیر بد کسی اوفتادی

  22. #22

    Unhappy نقل قول: لپ كلام jndi


    نه هنوز مشکل داره.تو commend وقتی فایل jar مربوط به client رو اجرا میکنم این پیغام میاد
    Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory]

  23. #23
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک

    نه هنوز مشکل داره.تو commend وقتی فایل jar مربوط به client رو اجرا میکنم این پیغام میاد
    Exception in thread "main" javax.naming.NoInitialContextException: Cannot instantiate class: com.sun.enterprise.naming.SerialInitContextFactory [Root exception is java.lang.ClassNotFoundException: com.sun.enterprise.naming.SerialInitContextFactory]
    اون دوتا فایلی که بهت گفتم تو چندتا post قبل javaee.jar با یکی دیگه الان اسمش یادم نیست توی classpath اضافه کن.
    قبلا netbeans برات handle می کرد حالا خودت باید بکنی.

    در مورد اشکال دومی که گفتنی پیدا نمی کنه برای اینکه خودت اومد به یک اسم بی ربط map کردی بعد نزاشتیش توی web app من آدرس مستقیم بهت دادم برای همین map رو ایراد می گیره یعنی پیدا نمی کنه.
    اگر مشکل غلط املایی دارم دیگه خودت درست کن. من اینرو که اجرا نمی کنم که ببنم کجا ایراد داره برای همین ممکنه غلط املایی پیدا کنی

  24. #24

    نقل قول: لپ كلام jndi

    والا من كه تو پاراگراف دوم نفهميدم چي گفتي دوست عزيز
    ميشه واضح تر توضيح بدي؟

  25. #25
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    والا من كه تو پاراگراف دوم نفهميدم چي گفتي دوست عزيز
    ميشه واضح تر توضيح بدي؟
    می ری توی جایی که glassfish رو داری .
    توی folder ی که به نام lib هست در آدرس glassfish اونجا دوتا فایل جر رو به classpath سمتclient اضافه می کنی. این دوتا فایل عبارتند از

    javaee.jar
    appserv-rt.jar
    توی netbeans خودش این کارو برات می کنه ولی اینجا چون دیگه خبری از اون نیست خودت باید به classpath سمت clinet اضافه کنی

  26. #26

    Thumbs down نقل قول: لپ كلام jndi

    متاسفانه اين كارو كاردم جواب نداد...!!
    دليل ديگه اي هم ميتونه داشته باشه؟

  27. #27
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    متاسفانه اين كارو كاردم جواب نداد...!!
    دليل ديگه اي هم ميتونه داشته باشه؟
    یک کار مسخره چون من یادم نیست کدوم از jar فایلها رو نیز داری هرچی jar فایل توی فلدر lib ی توی glassfishت هست رو به classpath سمت client اضافه کن

  28. #28

    Unhappy نقل قول: لپ كلام jndi

    قبل از اينكه شما بگي ..اين كار رو انجام دادم...نشد

  29. #29
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    قبل از اينكه شما بگي ..اين كار رو انجام دادم...نشد
    jar فایلی که ساختی رو بزار توی سایت همراه با source تا بهت بگم چی کار باید بکنی

  30. #30

    نقل قول: لپ كلام jndi

    لطفا آدرس mail تو بزار تا برات بفرستم.

  31. #31
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    لطفا آدرس mail تو بزار تا برات بفرستم.
    همینجام می تونستی بزاری ولی خوب
    javasurgeon@yahoo.com

  32. #32

    Thumbs up نقل قول: لپ كلام jndi

    برات ميفرستم.اما يك سوال دارم ازت...
    بجز اين روشي كه session روشهاي ديگه اي هم وجود داره؟اگه هست اسمشون رو بگو تا در باره شون مطالعه كنم.
    باز هم ممنون

  33. #33
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    برات ميفرستم.اما يك سوال دارم ازت...
    بجز اين روشي كه session روشهاي ديگه اي هم وجود داره؟اگه هست اسمشون رو بگو تا در باره شون مطالعه كنم.
    باز هم ممنون
    اگر منظورت JNDI هست که کجاها بدرد می خوره اون بار توضیح دادم ولی خوب این بار بیشتر می گم
    هر موقع که ما بخواهیم از یک JVM به یک یا چند JVM دیگه در تماس باشیم یعنی ارتباط داشته باشیم سراغ JNDI می ریم.
    در RMI همانطور که گقتم چون بحث ارتباط بین دو JVM جدا از هم هست مثل همون چی که اول گفته هام بهش اشاره کردم سراغ JNDI می ریم.
    اما چیزی که ‌EJB یا همان Enterprise Java Beans ها رو بسیار قدرت مند کرده وباعث شده که هیچ تکنولوژی نتونه فعلا با اون مقابله کنه وجود container اون هست. شما وقتی که با EJB می خواهید کار کنید بصورت ناخودآگاه مجبوری با خیلی از مفاهیم Java EE هم بصورت عملی و هم بصورت تئوری در گیر بشی. برای مثال همین JNDI+RMI و به دنبال اون JTA یاه همان Java Transaction API و بعد از اون بدون اینکه متوجه بشی JMS یا Java Message Service که همگی شامل تکنولوژی های Java EE هست و کلی مطلب پشتش هست که وقتی حساب می کنی می بینی بابا همون ASP عقب مونده بهتر از همشونه یا PHP. اکثر کسانی هم که من می بینم که در لایه JEE کار می کنند برای فرار از این مفهومات و تکنولوژی های J2EE که پیش نیاز همه آنها داشتن سواد آکادمیک هم در معقوله سخت افزار و هم در معقوله نرم افزار + تجریه زیاد در مورد پیاده سازی وداشتن دانش در مورد تحلیل و طراحی سیستم های نرم افزاری هست. چون بسیار در این مطالب فقیر هستند البته به کسی بر نخوره من منطورم خودم هستش تصور و درکشون از تکنولوژی و زبان قابل فهم نیست بطوری که فقط طرف دنباله کد می گرده. برنامه ای نوشتم که این کار و می کنه. برنامه برای من بنویسد که این کار رو بکنه. نیاز به کد دارم. زبان جاوا قدرت مند چون بعد می بینی رفته کتاب نشته ترجمه کرده و به خیالش کلی کار انجام داده در صورتی که کسی که تحصیلات آکادمیک گزونده باشه می فهمه که چه زبانی خوب می گن و باید چه خصوصیاتی داشته باشه و انتخاب زبان خودش برای معمار و تیم طراحی یک هنره. نه اینکه طرف چون delphi بلده هرچی پروژ دید بگه من با delphi انجام می دم یا جاوا یا C#‎ یا هرچی. و طرف دائم دنبال کد باشه.
    بحث بعدی که می خوام بگم اینکه چیزی که تکنولوژی های java EE رو پیاده سازی می کنه زبا جاواست. برای همینه که این زبان انقدررو به محبوبیت داره می ره و البته کامل بودن اون نسبت به دیگر زبانهای object orientedی. چون C#‎ هم کپی جاوا بصورت ناقص هست ولی چون از لجاظ تکنولوژی ضعیفه برای همین پروژهای سازمانی با اون پیاده سازی نمشه.
    بحث بعدی که می خوام بگم از همه اینها مهمتره و اون بحث استاندارد بودن هست. شما شاید توی یک شرکتی کار کنی که اون شرکت برای تامین یک سری از نیازهاش بشینه و یک سری component یا framework درست کنه. وقت می بره هزینه داره کار جای ارزش داره ولی یک ضعف بزرگ داره که همرو می بره زیر سوال و اون استاندارد نبودن محصول هست. چرا؟ چون یک محدود به همون شرکت و تیم اون شرکت هست. غیرقابل گشترش و قدرتمندتر شدن این محصول هست. چون تیم طراحی هر چی بلد بوده دیگه پیاده سازی کرده اون استاندارد نیست از بیرون هم نمی شه کاری کرد باید یک تیم بیاد کلی هزینه کنه تا ببینه داستان چی بوده و چی می خواد بشه. از همه مهمتر عدم پشتیانی از محصول هست. چون استاندارد نیست پشتیانی هم نمی شه صورت گرفت. کلی باید هزینه بشته که اون تیم محصول رو روپا نگه داره. کسانی که الان توی شرکتهای IT درحال کار هستند ۱۰۰٪ متوجه حرف من می شن. شرکت از محصول غیر استاندردش داره نون می خوره. تیم همه فکر و ذکرش محصول غیر استانداردش هست. در نتیجه همیشه داره عقب می ره. و بعد از یک مدت خودشو محصولش محو می شن تمام اینها رو گفتم که برم سراغ ejb و بگم این مصحول اسناندارد هست. مثلا فریم ورک ejb3 طبق استانداردهای JCP و تولید شرکت IBM هست. بعد می بینی بیش از ۳۰۰ شرکت ITو مخابراتی دارن روی این محصول کار می کند. براساس یکسری استاندارد که از طرف سان JCP داره مدیریت می شه درنتیجه پشتیانی هم بوجود می یاد و رقبا یکی یکی از گردونه خارج می شن.
    ejb container خیلی از پیچیده گی های کد نویسی رو از بین برده ولی کلی مفهوم هم کنارش گذاشته + اینکه در صورتی که شما خواستید می تونید به لایه های پایین تر هم دسترسی داشته باشید. ejb3 بر اساس RMI هست + کلی از پیچیده گیهای RMI رو حل کرده. شما یک بار برو RMI بخون و با API های اون کار کن بعد بیا دباره سراغ EJB بعد می تونی ببینه کلی بیل زدن رو برات بیل زده ولی باز دستت باز هست. شرطش دونستن کد نیست. اشتباهی هست که کسانیکه تازه واحد C++‎ رو پاس کردن می خوان بیان سراغ جاوا همینه که فکر می کنند که جاوا یک زبانی آموزشی هست در صورتی که جاوا یک زبان تجاری هست و باید ازش پول درآورد. گاسلینگ کسی که تئوریزیسین سان هست خودش می گه زبان وسیلست، هدف نیست. دونستن مفاهیمه که می تونه به شما کمک کنه که یک پروژه رو جلو ببرید و از تکنولوژی درست استفاده کنید. کد زدن که کاره هیمن کسانی هست که توی این فروم هم زیاد هستند. دائم دنبال کد هستند. این آدمها رو کلا با ماهی ۵۰۰ با ۶۰۰ هزارتومان استخدادم می کنی می شینن برات کد می زنند. مثل کارگرهای ساختمان که دارن جوش می دن وآجر می دازن بالا.
    من پیشنهادم به شما اینکه حالاکه تصمیم گرفتید بهصورت مفهومی جلو بیایید و فهمیدید که راه چاره کد نیست بلکه مطالعه هست
    کتابهای زیادی هست که می تونم بهتون معرفی کنم که بخونید. ولی مهم اینه که من بدون شما چقدر از لحاظ پایه ای قوی هستید.
    دنبال چی هستید؟
    در مورد RMI مطالعه بکنید اونجاهم گیره JNDI می افتی و همچنین JMS همنطور

  34. #34
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    چیزی که یادم رفت بگم اینکه این بحث بین من وشما خصوصی شده. هیچ کس نمیاد یک نظری بده یا حرفی بزنه. در صورتکی این همه اساتید اینجا هستند. واقعا حیفه . من شاید درام اشتباه می گم یا دارم اشتباه راهنمایی می کنم؟!

  35. #35

    نقل قول: لپ كلام jndi

    با همه حرفهايي كه زدي موافقم...من تازه به حرفت كه مي گفتي جاوا وسيلست و هدف نيست پي بردم...جاوا واقعا يك معماري بزرگه كه جزء به جزءش مهمه و بايد تمام اجزاء اون رو شناخت...
    والا نمي خوام خالي ببندم و يا قلو كنم اما من تئوري جاوا رو بر عكس خيلي ها بلدم اما چطور پياده كردنش رو بلد نيستم...مثلا به همين jndi كه بحشو داريم ميكنيم نگاه كن من ميدونستم كه چيه و چيكار ميكنه اما روش پياده كردنش رو بلد نبودم.با اين اوصاف فكر ميكنم اينكه ميگيد 1 يا دو سال طول ميكشه تا آدم به يه جايي برسه در جاوا واقعا راسته..
    اون چيزي رو هم كه گفتي اين بحث خصوصيه اشتباهه..اينقدر اين بحث كاربرديه كه متمعنم اگر كسي مثل من اين مشكل رو داشته باشه و بياد تو اين بخش حتما مثل من مشكلش حل ميشه
    امروز persistence رو هم پياده كردم ...هم تونستمquery بگيرم و هم اطلاعات وارد ديتا بيس mysql بكنم...البته اون بحث قبلي بود كه قبلا پرسده بوم و جواب دادي ...كلي آدم كيف ميكنه وقتي به جواب ميرسه...اينهم به لطف و كمك شما بود....الان ميدونم از جاوا و مفاهيمش چيز زيادي نمي دونم و بايد كلي مطالعه داشته باشم...يك عالمه مممنون

  36. #36
    کاربر دائمی آواتار cups_of_java
    تاریخ عضویت
    خرداد 1387
    محل زندگی
    تهران
    سن
    40
    پست
    1,544

    نقل قول: لپ كلام jndi

    حرف های javaphantom درسته. بزار من نقطه نظرامو اضافه کنم.
    اول اینکه Java EE فقط به EJB منتهی نمی شه. EJB قطره ای از این دریاست. درسته EJB استاندارده اما از اول اینقدر خشن و خشک بوده که مخالفانشم کم نبودن. امکاناتی که EJB می خواسته در اختیار نرم افزارهای سازمانی بزاره اینقدر وسیع و پیچیده بوده که در نسخه های ابتداییش نتونست اونا رو درست جمع کنه. EJB برای همه همیشه گنده بوده. سخت بوده. از هر جهت (هم پیاده سازی، هم تکنیکی و کاربردی) تمام تلاش Sun و بقیه تو JCP این بوده که EJB رو آسون کنن. طوری که پیچیدگی هاش رو بشه مدیریت کرد. کم کم دارن این کارو می کنن البته. اما همین مسائل به مرور زمان موج دیگه ای رو درست کرده که به جای استفاده از EJB از فریم ورک های غیر containerی مثل Spring استفاده می کنن که تعدادشون هم اصلن کم نیست. پیچیدگی و تنوع تو محیط های جاوا خیلی زیاده! برا همین هر کسی از پسش بر نمیآد. Springی ها هم به خاطر زیاد شدنشون به نوعی استاندارد شدن هرچند که تو SUN گروه JSR ندارن ;) وجود همین فریم ورک ها اصلن به Java EE کمک کرد تا بلوغ پیدا کنه. ایده های Hibernate و Spring و ... توی Java EE الان اومده در قالب JSR استاندارد شده! این خیلی قشنگه! تجارب موفق هستن که تکنولوژی رو می سازن!

    در مورد Containerی بودن Java EE این که این روش خیلی مزایا داره اما معایبی هم داره (برا همین برخی نمی پسندش، البته واضحه وقتی تو می خوای کشتی سواری کنی باید منتظر دریا گرفتگی هم باشی)، هر دو طرف قضیه رو باید درک کرد. Containerی بودن تست و debug نرم افزار رو بسیار پیچیده و سخت تر می کنه. پیچیدگی های محیط اجرا رو بالا می بره و ... ولی خب بدون container هم گاهی اصلن نمی شه زنده موند ;)

    حرف آخرم هم در مورد JNDI هستش. JNDI هیچی نیست جز یه سری API استاندارد و ساده برای دسترسی به سرویس ها و یا دایرکتوری ها. برای اینکه تو جاوا برای اتصال به سرویس هایی مثل Ldap، RMI، CORBA، DNS و یا هر سرویس دیگه ای مثل ConnectionPoolها و EJBها و ... یک و فقط یک راه ساده و استاندارد باشه JNDI رو طراحی کردن. JNDI باعث می شه کد تو بدون دونستن جزییات پیاده سازی سرویس (برای دسترسی به اون سرویس) بتونه به سرویس دسترسی داشته باشه. حالا تو RMI و یا EJB هم همین کاربرد رو داره. تا باهاش کار نکنی خوب برات جا نمی افته در حالی که چیز خاصی نیست.

  37. #37

    نقل قول: لپ كلام jndi

    میدونم که مثلا میشه از jndi برای اتصال به ldap استفاده کرد و مجوزهای سرور مثل یوزرنیم و پسوورد رو از اون گرفت برای همین یک سرور ldap روی لینوکس ubuntu در خونه راه انداختم که بعدا به اون join بشم از ejb اما فعلا تو پیاده کردن jndi مشکل دارم.
    javaphantom عزیز متوجه شدی مشکل من در پیاده کردن jndi چی بوده.فایل رو mail کردم

  38. #38
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    میدونم که مثلا میشه از jndi برای اتصال به ldap استفاده کرد و مجوزهای سرور مثل یوزرنیم و پسوورد رو از اون گرفت برای همین یک سرور ldap روی لینوکس ubuntu در خونه راه انداختم که بعدا به اون join بشم از ejb اما فعلا تو پیاده کردن jndi مشکل دارم.
    javaphantom عزیز متوجه شدی مشکل من در پیاده کردن jndi چی بوده.فایل رو mail کردم
    من از کسی ‌emailی دریافت نکردم

  39. #39

    نقل قول: لپ كلام jndi

    فكر كنم آدرسي كه دادي اشتباهه..لطف كن يك بار ديگه چك كن آدرس و mailات رو..من دوباره فرستادم...ممنون

  40. #40
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    سن
    44
    پست
    966

    نقل قول: لپ كلام jndi

    نقل قول نوشته شده توسط maamiri مشاهده تاپیک
    فكر كنم آدرسي كه دادي اشتباهه..لطف كن يك بار ديگه چك كن آدرس و mailات رو..من دوباره فرستادم...ممنون
    همانطور که گفتم مشکل شما بخاطر نتظیمات classpath هست. این IDE ها سم هستند برای کسانی که حتی ۲ بار بصورت syntaxی یک پروژه را تا مرحله اجرا نیاورده باشند. من به شما خرده نمی گیرم چون واقعا حق دارید.

    من دیروز یک email خصوصی از جناب mazdadoost گرفتم که حرفهای خیلی خوبی زده بود و ای کاش اونرا ایجا یک بار دیگه برای همه بازتاب می کرد.

    بگذریم بریم سراغ جواب.
    آقا توی netbeans در قسمت client تون وقتی clean and build می کنی یک فلدر کنار باقی داستانت درست می کنه به نام dist که وقتی وارد این فلدر می شی یک jar فایل می بینی. شما بیا کنار این jar فایل یک فلدر درست کن با نام lib داخل این فلدر lib بیا این سه تا jar فایل رو کپی کن. از توی glassfish/lib همون دوتا فایل appserv-rt.jar و javaee.jar بعد برو توی پروژه ejb ی که ساختی، اونم یک فلدر به نام dist درست کرده که یک jar فایل با نام EJBHello برات ساخته دیگه ، اون jar فایل هم کپی کن کنار اون دوتا توی فلدر lib خوب. این مرحله اول.
    مرحله دوم بر می گرد به زمان java se و jar فایل درست کردن. دیگه ربطی به زبان نداره.
    با یک برنامه که بتونه rar فایل باز کنه پروزه client رو که در کنار فلدر lib هست باز کن. وارد فلدر META-INFش بشو بعد اونجا یک فایل هست به نام MANIFEST.MF وارد اون فایل بشو در آخرین خط این فایل class-path رو معرفی کن چه جوری ؟ این جوری
    Class-Path: lib/appserv-rt.jar lib/javaee.jar lib/EJBHello.jar


    نکات زیر رو حتما چک کن. بعد نوشتن این مزخرافات حتما یک enter بزن که یک خط پایین بیایی. بعد فایل رو save کن.
    نکته بعدی مطمعن شو که فایل تو، توی jar فایل save یا همان update شده. البته بستگی به نرم افزاری داره که داره داخل جر فایل رو بهت نشون می ده.
    بعد مطمعن شو که ejb تو در web app ی که داری deploy شده
    بعد با دستور
    java -jar ApplicationClientHello.jar
    درهمون فلدر dist که مربوط به client هست برنامت رو اجرا کن

صفحه 1 از 2 12 آخرآخر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •