نمایش نتایج 1 تا 22 از 22

نام تاپیک: مشکل عجیب در ejb

  1. #1

    مشکل عجیب در ejb

    یک مشکل جدید برام پیش اومده.
    وقتی قصد دارم یک برنامه تحت وب enterprise بنویسم زمانی که ماژول ejb را در بخش وب import میکنم(منظورم فایل jar بخش ejb است) بخش وب دیگه deploy نمیشه و پیغام میده که The module has not been deployed
    وقتی حذفش میکنم راحت deploy میشه.
    مشکل چی میتونه باشه؟

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

    نقل قول: مشکل عجیب در ejb

    نقل قول نوشته شده توسط m44miri مشاهده تاپیک
    یک مشکل جدید برام پیش اومده.
    وقتی قصد دارم یک برنامه تحت وب enterprise بنویسم زمانی که ماژول ejb را در بخش وب import میکنم(منظورم فایل jar بخش ejb است) بخش وب دیگه deploy نمیشه و پیغام میده که The module has not been deployed
    وقتی حذفش میکنم راحت deploy میشه.
    مشکل چی میتونه باشه؟

    تو کجا deploy می کنی؟

    کل پیغام خطا رو هم برام بفرست

  3. #3

    نقل قول: مشکل عجیب در ejb

    In-place deployment at /media/sda7/Office Automation Persian correspondence/MyPrj/projectMaster/Weboapc/build/web
    Initializing...
    deploy?path=/media/sda7/Office Automation Persian correspondence/MyPrj/projectMaster/Weboapc/build/web&name=Weboapc&force=true failed on GlassFish Server 3
    /media/sda7/Office Automation Persian correspondence/MyPrj/projectMaster/Weboapc/nbproject/build-impl.xml:692: The module has not been deployed.
    خط ۶۹۲ هم اینه:
    <target if="netbeans.home" name="-run-deploy-nb">
    <nbdeploy clientUrlPart="${client.urlPart}" debugmode="false" forceRedeploy="${forceRedeploy}"/>
    </target>
    در netbeans 6.9.1 , glassfish 3.01

  4. #4

    نقل قول: مشکل عجیب در ejb

    جالبه که وقتی ماژول ejb را undeploy میکنم بخش web راحت deploy میشه اما بعد بخش سمت ejb در glassfish دیگه وجود نداره..
    البته من دفعه اول که دارم برنامه enterprise تحت وب مینویسم .همون کارایی را کردم که تحت application انجام میدادم.شاید کار خواص دیگه ای هم باید انجام بدم؟!!!

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

    نقل قول: مشکل عجیب در ejb

    نقل قول نوشته شده توسط m44miri مشاهده تاپیک
    جالبه که وقتی ماژول ejb را undeploy میکنم بخش web راحت deploy میشه اما بعد بخش سمت ejb در glassfish دیگه وجود نداره..
    البته من دفعه اول که دارم برنامه enterprise تحت وب مینویسم .همون کارایی را کردم که تحت application انجام میدادم.شاید کار خواص دیگه ای هم باید انجام بدم؟!!!
    روشهای مختلفی برای deploy کردن پروژه های enterprise هست. مشکل شماا هر چی هست از سمت فایل ant ی هست که ide شما درست کرده. اگر دارید با glassfish کار می کنی می تونی مستقیم از console خود glassfish که تحت web و بصورت browser هست استفاده کنی. قابل ذکر که اگر پروژه شما شامل دو ماژول web و ejb هست بهتر که محصول نهایی شما یک ear فایل باشه. به نظر من راه حل اساسی و ممکن استفاده از maven هست که اون موقع دیگه مو لای درزش نمی ره. شما می تونید یک پروژه جدید بسازید و دباره تست کنید.م مشکل از سمت ant فایلی هست که ide شما ساخته

  6. #6

    نقل قول: مشکل عجیب در ejb

    ساختار فايلي که deploy مي کني بايد بصورت زير باشه
    app.ear
    |-- app.war
    |-- app.jar
    |--lib
    |--META-INF
    و يکي از فايل هاي مهم در deploy فايل application.xml است که در META-INF ماژول اجرايي رو بهبش اضافه کن

    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
    version="5">

    <display-name>app</display-name>

    <module>
    <web>
    <web-uri>app.war</web-uri>
    <context-root>/app</context-root>
    </web>
    </module>

    <module>
    <ejb>app.jar</ejb>
    </module>



    </application>

  7. #7

    نقل قول: مشکل عجیب در ejb

    در netbeans خودش این فایل را ایجاد نکرده..من باید خودم بصورت دستی ایجادش کنم؟

  8. #8

    نقل قول: مشکل عجیب در ejb

    منظور از <display-name>app</display-name>
    و <context-root>/app</context-root>
    چیه؟

  9. #9

    نقل قول: مشکل عجیب در ejb

    در netbeans خودش این فایل را ایجاد نکرده..من باید خودم بصورت دستی ایجادش کنم؟
    براي اين ايجاد نکرده که اولش که داشتي پروژتو مي ساختي نگفتي اين پروژه enterprise

    نظور از <display-name>app</display-name>
    و <context-root>/app</context-root>
    يعني localhost:8080/app از اين آدرس بعد از بالا اومدن کانتينر به برنامه دسترسي داري app يه اسم مي توني هر چيزي جاش بذاري
    در ضمن مهم نيست با چي کار مي کني با notepad هم اگه اين ساختار و ايجاد کني پروژه اجرا مي شه وقتي داشتي پروژتو مي ساختي يه اشتباهي کردي

  10. #10

    نقل قول: مشکل عجیب در ejb

    يه نگاهي به اين بنداز

    http://wiki.netbeans.org/CreatingEJB3UsingNetbeansAndGlassfish

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

    نقل قول: مشکل عجیب در ejb

    نقل قول نوشته شده توسط omidbizdotcom مشاهده تاپیک
    ساختار فايلي که deploy مي کني بايد بصورت زير باشه
    app.ear
    |-- app.war
    |-- app.jar
    |--lib
    |--META-INF
    و يکي از فايل هاي مهم در deploy فايل application.xml است که در META-INF ماژول اجرايي رو بهبش اضافه کن

    <?xml version="1.0" encoding="UTF-8"?>
    <application xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd"
    version="5">

    <display-name>app</display-name>

    <module>
    <web>
    <web-uri>app.war</web-uri>
    <context-root>/app</context-root>
    </web>
    </module>

    <module>
    <ejb>app.jar</ejb>
    </module>



    </application>
    application.xml اجباری نیست.

    می تونی بصورت جداگانه ماژولهای war که مربوط به web و ماژولهای jar که مربوط به ejb هستم جداگانه deploy کنی.

  12. #12

    نقل قول: مشکل عجیب در ejb

    میشه یک لینک بر مبنای همون application.xml بهم بدی؟
    روشی که توی این لینک آخری دادی روش stable ی نیست.یک دفعه کار میکنه ۵ دفعه کار نمیکنه.از طرفی هم توی این روشی که آموزش داده من چیزی بنام application.xml ندیدم.توی تمام شاخه های پروژه ای که ایجاد کردم اصلا همچین فایلی ندیدم.

  13. #13

    نقل قول: مشکل عجیب در ejb

    بیشتر وقتها شروع میکنه به دادن پیغام که بالا گفتم.
    من سیستم عامل من لینوکسه...یک بار netbeans
    را پاک کردم و دوباره نصب کردم اما فایده ای نداشت

  14. #14

    نقل قول: مشکل عجیب در ejb

    مشکل من حل شد.این فیلم تغریبا توضیحات خوبی داده :
    http://www.youtube.com/watch?v=uI8TGqv-5hk
    اما یک سوال دارم
    توی این فیلم و خیلی از کتابا اینطوری گفته بنویسیم
    return (SessionBeanRemote) c.lookup("java:global/EJBModule/SessionBean!ejb.SessionBeanRemote");

    اما من نتونستم با این فرمت جواب بگیرم و به ماژول متصل بشم
    بجاش در سمت ejb اینو نوشتم :
    @Stateless(mappedName="SessionBeanRemote")

    و بجای خط بالا اینو نوشتم :
    return (SessionBeanRemote) c.lookup("SessionBeanRemote");

    بنظر شما با این فرمت نوشتن اصلا درست هست یا نه ؟

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

    نقل قول: مشکل عجیب در ejb

    کل آدرسی که توی jvm برای session جنابعالی درست شده بود رو به یک نام نگاشت یا map کردی.

    وقتی اون اسم رو می گی container به آدرسی که او Object رو برات درست کرده می ره و برات می یاردش.

    خوبی این کار این هست که اگر یک interface داشته باشی حالا می خواد remote باشه یا local چند کلاس اون و implement کرده باشند می تونی او کلاسها رو با همین روش از هم متمایز کنی.

  16. #16

    نقل قول: مشکل عجیب در ejb

    من پيشنهاد مي کنم اگه واقعا از قدرت EJB مي خواي استفاده کني سراغ فريم ورک زير برو کار باهاشم خيلي راحته
    http://seamframework.org

  17. #17

    نقل قول: مشکل عجیب در ejb

    واقعا فکر میکنم یک مشکلی وجود داره در glassfish
    موقع deploy وقتی از این کد استفاده میکنم پیغام خطا میده ولی وقتی حذفش میکنم درست میشه
    @Stateless(mappedName="SessionBeanRemote")

    خیلی وقتی همون پیغام خطایی که میگه ماژول پیدا نشد را میده...حدس میزنید مشکل میتونه از چی باشه؟
    نگفتید چرا وقتی
    mappedName="SessionBeanRemote"
    را حذف میکنم نمیتونه ماژول را پیدا کنه!!!

  18. #18

    نقل قول: مشکل عجیب در ejb

    نقل قول نوشته شده توسط omidbizdotcom مشاهده تاپیک
    من پيشنهاد مي کنم اگه واقعا از قدرت EJB مي خواي استفاده کني سراغ فريم ورک زير برو کار باهاشم خيلي راحته
    http://seamframework.org
    کلا علاقه ای به استفاده از framework ندارم . چون فکر میکنم عیبیابی مشکلات احتمالیش سخته

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

    نقل قول: مشکل عجیب در ejb

    glassfish مشکلی نداره. وقتی شما mappedName رو حذف می کنی موقع deploy بهت می گه به چه آدرسی داره نام گذاری می کنه. تا اونجا که یادم تو glassfish مستقیم آدرس صدا می کنی

    یعنی اگر کلاس شما در com.babak.biz.MyClass باشه همینطوری lookup("com.babak.biz.MyClass");
    رو بزنی lookup می کنه همین

  20. #20

    نقل قول: مشکل عجیب در ejb

    پس در glassfish استفاده از mappedName اشکالی نداره!! ولی چرا وقتی mappedName وجود داره دائما error پیدا نکردن ماژول را میده..
    شما میدونی مشکل از چی میتونه باشه؟ شما خودتون از چه application server استفاده میکنید؟

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

    نقل قول: مشکل عجیب در ejb

    نقل قول نوشته شده توسط m44miri مشاهده تاپیک
    پس در glassfish استفاده از mappedName اشکالی نداره!! ولی چرا وقتی mappedName وجود داره دائما error پیدا نکردن ماژول را میده..
    شما میدونی مشکل از چی میتونه باشه؟ شما خودتون از چه application server استفاده میکنید؟
    آخه این چه حرفی داری می زنی که اشکالی نداره. معلومه که نداره. مشکل شما اینکه هنوز مفهوم IOC، Container و از همه مهمتر JNDI رو متوجه نشدین.

    وقتی کلاسی که بالاش تگ stateless می خوره داخل container ejb می اندازی یا به عبارت دیگر deploy می کنی به این معناست که داری به container می گی بابا life cycle این object دست تو یعنی خودت از این class object درست کن هر چندتا که باید بکنی خودت از بین ببر زمانی که باید از ببین ببری و هزار داستان دیگه. خوب حالا داستان JNDI چی هست. باید از این کلاسی که نمونه ازش ساخته می شه یک آدرسی درست بشه که شما از سمت کلاینت بتونی بهش دسترسی داشته باشی دیگه. مثل اینکه بگی c:\porogram files\java\bin\java.exe

    یک آدرس داری می ری که به java.exe برسی.این داستان هم دقیقا برای اون object داره بوجود می یاد.

    حالا می تونی یک shortcut برای آدرس بالا بوحود بیاری و اسمش رو بزار java و روی desktop بزاری. ولی نهایت اون آدرس بالا رو خودش میره. داستان mappedName هم همینه. مثل shortcut می مونه. بجایی اینکه کل آدرس رو بدی یک اسم بهش می دی او خودش آدرس رو می ره. ربطی به glassfish یا JBoss یا هر چیزه دیگه نداره. منتها در هر webapplication server آدرس دادن متفاوت مثل تفاوت windows با linux که تو windows برای جدا کردن فلودر از \ استفاده می شه در linux از /.

    تو پست قبل بهت گفتم توی glassfish آدرس مستقیم رو نمی خواد بصورت
    java:global/EJBModule/SessionBean!ejb.SessionBeanRemote

    بدی کافی هست که از آدرس package کلاس تا خود کلاس رو بدی
    یعنی اگر کلاس تو که @Statateless هست توی package ی مثل com.ejb.MyClass هست همین رو فقط بنویس یعنی
    lookup("com.ejb.MyClass");


    یا
    lookup("com/ejb/MyClass");

  22. #22

    نقل قول: مشکل عجیب در ejb

    من پيشنهاد مي کنم قبل از اينکه با هر تکنولوژي تو جاوا خواستي کار کني قبلش يکم مطالعه کن و نمونه ببين
    به لينک پايين يه سر بزن و کامنت هاي پست هم يه نگاهي بکن

    http://www.adam-bien.com/roller/abien/entry/ejb_3_portability_issue_why

    بر اي کار با EJB Bean يه annotation هم وجود دارد

    @EJB
    IBean ejbBean

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

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