JavaRush /جاوا بلاگ /Random-SD /EJB متعارف ڪرايو
Анзор Кармов
سطح
Санкт-Петербург

EJB متعارف ڪرايو

گروپ ۾ شايع ٿيل
هن آرٽيڪل ۾ اسين EJB - Enterprise JavaBeans تي نظر ڪنداسين. هي ٽيڪنالاجي جاوا اي اي جي وضاحت جو حصو آهي. اسان مسئلن تي رابطو ڪنداسين جهڙوڪ:
  • EJB ڇا آهي؛
  • EJB جي تاريخ ڇا آهي؛
  • EJB جا ڪهڙا قسم آهن؟
اسان EJB ۽ servlets استعمال ڪندي هڪ ننڍڙي HelloWorld ايپليڪيشن پڻ لکنداسين. EJB متعارف ڪرايو - 1اهو آرٽيڪل پڙهندڙن لاءِ مفيد ٿيندو جيڪي جاوا SE سان آرامده ٿي ويا آهن ۽ جاوا EE سکڻ شروع ڪري رهيا آهن. هن آرٽيڪل جي عملي حصي کي مڪمل طور تي سمجهڻ لاءِ، اها صلاح ڏني وئي آهي ته توهان پهريون مضمون پڙهو ” مقامي ماحول کي ترتيب ڏيڻ “.

EJB جي مختصر تاريخ

1996 ع ۾، جڏهن هن مضمون جي ليکڪ 5 سالن جي عمر ۾، جاوا اڳ ۾ ئي ڊولپر جي وچ ۾ مشهور هو. ان جو سبب دوستانه API، خودڪار ڪچرو گڏ ڪرڻ، وغيره هو. جاوا وڏي پئماني تي استعمال ڪيو ويو سسٽم ۾ پس منظر لاء ذميوار. بهرحال، ٻوليء جي سڀني نعمتن جي باوجود، ان وقت جي پروگرامرن کي ڪجهه ڪارڪردگي جي ضرورت هئي جيڪا اڃا تائين JDK ۾ لاڳو نه ڪئي وئي هئي. اهي ضرورتون هيون:
  • ڊيٽا جي تسلسل کي يقيني بڻائي؛
  • ٽرانزيڪشن جي سالميت
  • ڊيٽا تائين مقابلي واري رسائي (ملٽي ٿريڊنگ ڪنٽرول)؛
  • ۽ گهڻو ڪري ٻيو ڪجهه.
اهو سڀ ڪجهه گهرن جي آبادي ۾ قدرتي واڌ جو سبب بڻيو، خود لکيل، بند ٿيل لائبريريون. ٻين لفظن ۾، هرڪو پنهنجي ضرورتن کي پورو ڪري سگهي ٿو جيئن اهي بهتر ٿي سگهن. اهو آهي جيستائين IBM نعرا سان ٻاهر آيو، "هرڪو پنهنجي ضرورتن کي ساڳيو طريقي سان پورو ڪرڻ گهرجي،" ۽ 1997 ۾ انٽرپرائز جاوا بين (EJB) وضاحت جاري ڪئي. اھو اھو آھي جنھن اھو ممڪن بڻايو ته ترقي جي عمل کي متحد ڪرڻ ۽ عام مسئلن جو حل (مٿي بيان ڪيل ضرورتن جي طور تي) فريم ورڪ ڏانھن. سن 2 سالن کان IBM جي دماغي تخليق کي ترتيب ڏئي رهيو آهي، ۽ 1999 ۾ EJB 1.0 وضاحت جاري ڪئي. اهڙيء طرح ٽيڪنالاجي پيدا ٿيو، جنهن کي وڌيڪ استعمال ٿيل رگ ۾ وڌيڪ بحث ڪيو ويندو.

EJB ڇا آهي؟

EJB هڪ لحاظ کان هڪ اجتماعي اصطلاح آهي، جنهن تي منحصر ڪري، مطلب ٿي سگهي ٿو يا ته انٽرپرائز JavaBeans ٽيڪنالاجي پاڻ کي عام طور تي، يا ڪجهه مخصوص Enterprise JavaBean سافٽ ويئر جزو (بين) جيڪو EJB ٽيڪنالاجي جو حصو آهي. EJB جي هڪ ٽيڪنالاجي طور وصف وڪيپيڊيا:انٽرپرائز JavaBeans تي ڏنل آهي (پڻ اڪثر مخفف EJB طور استعمال ڪيو ويندو آهي) هڪ ٽيڪنالاجي جي وضاحت آهي ۽ سرور جي اجزاء کي لکڻ ۽ سپورٽ ڪرڻ لاءِ جنهن ۾ ڪاروباري منطق شامل آهي. اهو جاوا EE جو حصو آهي. هي ٽيڪنالاجي عام طور تي استعمال ٿيندي آهي جڏهن ڪاروباري منطق گهٽ ۾ گهٽ هيٺين خدمتن مان هڪ جي ضرورت هوندي آهي، ۽ اڪثر ڪري اهي سڀئي:
  • ڊيٽا جي استحڪام لاءِ سپورٽ: پروگرام کي روڪڻ کان پوءِ به ڊيٽا محفوظ هجڻ گهرجي. گهڻو ڪري حاصل ڪيل ڊيٽابيس استعمال ڪندي؛
  • ورهايل ٽرانزيڪشن لاء حمايت؛
  • متوازي ڊيٽا جي ترميم ۽ ملٽي ٿريڊنگ لاءِ سپورٽ؛
  • واقعي جي حمايت؛
  • نالو ڏيڻ ۽ ڊاريڪٽري سپورٽ (JNDI)؛
  • سيڪيورٽي ۽ ڊيٽا تائين رسائي جي پابندي؛
  • ايپليڪيشن سرور تي خودڪار تنصيب لاء سپورٽ؛
  • ريموٽ رسائي.
مٿي ڏنل فهرستون خدمتون EJB ٽيڪنالاجي جو اڻڄاتل فائدو آهن. ٻيو اهڙو فائدو اهو آهي ته مٿي ڏنل هر شيءِ دٻي مان ٻاهر ڪم ڪري ٿي. اهي. پروگرامر کي ورهايل ٽرانزيڪشن جي حمايت ڪرڻ بابت سوچڻ جي ضرورت ناهي. پروگرامر کي صرف ڪاروباري منطق جي باري ۾ سوچڻ جي ضرورت آهي ته هو هن وقت لاڳو ڪرڻ جي ڪوشش ڪري رهيو آهي. هڪ EJB هڪ مخصوص سافٽ ويئر جزو جي طور تي هڪ جاوا ڪلاس آهي EJB وضاحتن مان هڪ يا وڌيڪ تشريحون جنهن ۾ ايپليڪيشن جي ڪجهه ڪاروباري منطق شامل آهن. EJB وضاحتن مان تشريحون ٽيگ ٿيل طبقي کي ڪجهه طاقتون، طاقتون ۽ سپر پاور ڏين ٿيون. هن جي باري ۾ هيٺ وڌيڪ پڙهو.

EJB قسمون

اچو ته اختصار ڪريون. EJB ھڪڙو باقاعده جاوا ڪلاس آھي جنھن کي ھڪڙي خاص تشريح سان نشان لڳايو ويو آھي. اهڙن طبقن کي ڀاڄيون چئبو آهي. ڪلاس کي ڪهڙي تشريح سان نشان لڳايو ويو آهي ان تي منحصر ڪري، اهو هڪ يا ٻئي قسم جي EJB (بين) جو نمائندو هوندو. ڀاڄين جا ٽي مکيه قسم آهن:
  • Message Driven Beans (پيغام تي هلندڙ لوبيا)؛
  • Entity Beans - JPA (Java Persistence API) ۾ وضاحت ڪئي وئي ۽ ڊيٽا کي ذخيرو ڪرڻ لاء استعمال ڪيو ويو؛
  • سيشن بينس.
پوئين (سيشن بينز) ڪيترن ئي ذيلي قسمن ۾ ورهايل آهن:
  • بي رياست (بي رياست)؛
  • رياستي (موجوده سيشن رياست جي حمايت سان)؛
  • سنگلٽن (سڄي ايپليڪيشن لاءِ هڪ اعتراض؛ EJB 3.1 کان شروع ٿيندڙ).
EJB متعارف ڪرايو - 2هيٺ اسين هر قسم جي ڀاڄين کي وڌيڪ تفصيل سان ڏسنداسين.

سيشن بينس

سيشن لوبيا، يا سيشن لوبيا، هڪ خاص قسم جي لوبيا آهن. اهي ڪاروباري منطق کي ڍڪيندا آهن ته ڪلائنٽ پروگرام طور تي بينن جي طريقن کي ڪال ڪندي سڏين ٿا. هڪ طريقو ڪال ڪري سگهي ٿو:
  • مقامي طور تي، ساڳئي JVM ۾ ٻئي طبقي طرفان سيشن بين وانگر؛
  • ريموٽ، نيٽ ورڪ تي، ٻئي JVM کان، جاوا RMI (ريموٽ ميٿڊ انويڪيشن) ٽيڪنالاجي استعمال ڪندي.
لفظ ”سيشن“ جو مطلب آهي ته بين صرف ان وقت موجود آهي جڏهن سرور هڪ خاص ڪم ڪري رهيو آهي ۽ سرور جي ناڪامي يا بند ٿيڻ جي صورت ۾ ناقابل واپسي طور تي تباهه ٿي ويو آهي. سيشن بين مثال جي زندگي جي چڪر کي EJB ڪنٽينر ذريعي ڪنٽرول ڪيو ويندو آهي (توهان سيريز جي پهرين ليڪچر ۾ EJB ڪنٽينرز بابت وڌيڪ پڙهي سگهو ٿا ). اسٽيٽ بيس سيشن بينس پنهنجي رياست بابت معلومات ذخيرو نٿا ڪن. هن قسم جو جزو مختلف گراهڪن طرفان استعمال ڪري سگهجي ٿو. اسٽيٽ بيس بينز استعمال ڪيا ويندا آهن ڪاروباري عملن کي لاڳو ڪرڻ لاءِ جيڪي هڪ آپريشن ۾ مڪمل ٿي سگهن ٿيون. مثال طور، گراهڪن جي ڪريڊٽ جي تاريخ چيڪ ڪرڻ. ڇاڪاڻ ته هڪ واحد بين مثال ڪيترن ئي گراهڪن طرفان استعمال ڪري سگهجي ٿو، ڊولپر کي لازمي طور تي بين جي ڊيٽا تائين ٿريڊ-محفوظ رسائي فراهم ڪرڻ گهرجي. هن قسم جي لوبيا ٺاهڻ (انهي سان گڏ ٻيا سڀئي سيشن لوبيا) بلڪل سادو آهي. هي هڪ باقاعده جاوا ڪلاس آهي هڪ تشريح سان @Stateless. اچو ته هيٺ ڏنل مثال ڏيو:
import javax.ejb.Stateless;

@Stateless
public class StatelessEjbExample {
    public String sayHi() {
        return "Hi, I'm Stateless EJB!";
    }
}
سيشن بينز جيڪي سپورٽ ڪن ٿا موجوده سيشن اسٽيٽ (Stateful) انهن جي رياست بابت معلومات انهي ساڳئي ڪلائنٽ کان ڪالن جي وچ ۾ ۽ ڪلائنٽ جي واضح درخواست تي انهن جي وجود کي ختم ڪري ٿو. اهو هن حقيقت جي ڪري حاصل ڪيو ويو آهي ته رياستي بينز هر ڪلائنٽ لاء منفرد آهن. هڪ ڪم جو هڪ مثال جنهن لاءِ هن قسم جي شين جو ذميوار ٿي سگهي ٿو شاپنگ ڪارٽ کي آن لائن اسٽور ۾ رکڻ هر صارف لاءِ تاريخ تائين. انهن ڀاڄين جي زندگيءَ جو چڪر EJB ڪنٽينر ذريعي سنڀاليو ويندو آهي. اهي ڀاڄيون به تباهه ٿي وينديون آهن جڏهن ڪلائنٽ نڪرندو آهي. اهڙيون ڀاڄيون پڻ ٺاهڻ ۾ بلڪل آسان آهن. هي هڪ جاوا طبقو آهي جنهن کي تشريح سان نشان لڳايو ويو آهي Stateful. هيٺ ڏنل مثال:
import javax.ejb.Stateful;

@Stateful
public class StatefulEjbExample {
    public String sayHi() {
        return "Hi, I,m Stateful EJB";
    }
}
سنگلٽن سيشن بينز ايپليڪيشن جي زندگيءَ دوران هڪ ڀيرو شروع ڪيا ويا آهن ۽ ايپليڪيشن جي پوري زندگي لاءِ موجود آهن. اهڙيون شيون انهن حالتن لاء ٺهيل آهن جن ۾ هڪ رياست سڀني مراجعين جي وچ ۾ حصيداري ٿيڻ گهرجي. بي اسٽيٽ بينز وانگر، اسٽينڊل بينز ۾ ڊولپر کي ان ڳالهه کي يقيني بڻائڻ جي ضرورت آهي ته بينن جي اندر ماحول کي ٿريڊ-محفوظ انداز ۾ منظم ڪيو ويو آهي. اچو ته هڪ سنگلٽن بين جو مثال ڏيون، جيڪو ان جي هم منصبن وانگر ٺاهڻ آسان آهي، جن تي مٿي ذڪر ڪيو ويو آهي. اهو اندازو لڳائڻ آسان آهي ته هي هڪ جاوا ڪلاس آهي تشريح سان @Singleton. تنهن هوندي به، هن معاملي ۾ توهان کي محتاط هجڻ جي ضرورت آهي. اتي ٻه تشريحون آهن، نحو ۾ هڪجهڙا، پر مقصد ۾ مختلف ۽ مختلف پيڪيجز ۾ موجود آهن:
  • javax.ejb.Singleton
  • javax.inject.Singleton
EJB ٺاھڻ لاءِ، توھان کي استعمال ڪرڻ گھرجي javax.ejb. هيٺ ڏنل مثال:
import javax.ejb.Singleton;

@Singleton
public class SingletonEjbExample {
    public String sayHi() {
        return "Hi, I'm Singleton EJB!";
    }
}

نياپو Driven Beans

Message Drive Beans, or MDBs, or message-driven beans, like session beans، لاڳو ڪريو ڪجھ ڪاروباري منطق. پر ان جي مائٽن جي برعڪس، ايم ڊي بي هڪ اهم فرق آهي. ڪلائنٽ ڪڏهن به MDB طريقن کي سڌو سنئون نه سڏيندا آهن. اهڙيون شيون اڪثر ڪري JMS (جاوا ميسيج سروس) پيغامن لاءِ ٻڌندڙن جي طور تي ڪم ڪن ٿيون ۽ سسٽم جي حصن جي وچ ۾ غير مطابقت واري پيغام جي مٽاسٽا کي منظم ڪرڻ جي خدمت ڪن ٿيون. اهڙي پيغام جو هڪ مثال هڪ خودڪار پرچون سسٽم کان سپلائي مئنيجمينٽ سسٽم تائين انوینٽري جي ترسيل جي درخواست هوندي. هيٺ ڏنل هڪ ايم ڊي بي بين جو هڪ مثال آهي. سيشن بينن جي برعڪس، ان جي تخليق ٿورو وڌيڪ دلچسپ آهي:
import javax.annotation.Resource;
import javax.ejb.MessageDriven;
import javax.ejb.MessageDrivenContext;
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;

@MessageDriven(mappedName = "jms/TestQueue")
public class MessageDrivenEjbExample implements MessageListener {

    @Resource
    private MessageDrivenContext messageDrivenContext;

    public void onMessage(Message message) {
        try {
            if (message instanceof TextMessage) {
                TextMessage msg = (TextMessage) message;
                msg.getText();
            }
        } catch (JMSException e) {
            messageDrivenContext.setRollbackOnly();
        }
    }

}
تشريح MessageDrivenاسان جي ايم ڊي بي ڪلاس کي بين بنائي ٿي. تشريح جي اندر، JNDI استعمال ڪندي ( هتي JNDI بابت پڙهو )، JMS تقسيم جو نالو طئي ڪيو ويو آهي، جنهن تي اسان جو ڪلاس ٻڌندڙ بڻجي ويندو آهي. ان کان علاوه، اسان جو ڪلاس انٽرفيس MessageListener۽ ان جو طريقو لاڳو ڪري ٿو onMessage. هن طريقي کي سڏيو ويندو جڏهن ڪجهه پيغام قطار/تقسيم مان پهچندو نالو سان تشريح اندر بيان ڪيل MessageDriven.

وجود جي ٻوٽي

EJB ٽيڪنالاجي جو حصو JPA وضاحت آهي. JPA، يا Java Persistence API، هڪ وضاحت آهي جيڪا جاوا آبجیکٹ (Enity beans) جي Object-Relational Mapping (ORM) مهيا ڪري ٿي ۽ اهڙين شين کي محفوظ ڪرڻ، ٻيهر حاصل ڪرڻ ۽ انتظام ڪرڻ لاءِ API مهيا ڪري ٿي. JPA توهان کي اجازت ڏئي ٿو ته ڊيٽابيس مان ڊيٽا کي جاوا آبجڪس جي طور تي پيش ڪري، ۽ انهي سان گڏ جاوا آبجیکٹ کي ڊيٽابيس ۾ رڪارڊ طور محفوظ ڪريو. هر طبقو اهڙي شئي طور ڪم نٿو ڪري سگهي، پر Entity beans. Entity Bean هڪ جاوا ڪلاس آهي جيڪو ڊيٽابيس ۾ ٽيبل جي نمائندگي ڪري ٿو. ڊسپلي (نقشي) خاص تشريح جي استعمال ذريعي حاصل ڪئي وئي آهي. انهن جي مدد سان، هڪ جاوا ڪلاس جي ڊيٽابيس ۾ ٽيبل سان مقابلو ڪيو ويو آهي، انهي سان گڏ جاوا ڪلاس جي شعبن کي ڊيٽابيس جي ٽيبل جي شعبن سان مقابلو ڪيو ويو آهي. هتي هڪ ادارو بين جو هڪ مثال آهي، ڪوڊ ۾ تبصرن سان:
@Entity // Делает данный класс Entity бином
@Table(name = "employee") // "Связывает" данный класс с таблицей employee в БД
public class Employee implements Serializable {

    @Id // Говорит о том, что поле ниже является первичным ключом
    @GeneratedValue(strategy = GenerationType.AUTO) // Определяет тип генерации значений первичного ключа
    private int id;

    @Column(name="name") // "Связывает" поле ниже с полем name в таблице employee в БД
    private String name;

    @Column (name="age") // "Связывает" поле ниже с полем age в таблице employee в БД
    private int age;

    // getters and setters...
}
اها ڳالهه نوٽ ڪرڻ جي قابل آهي ته هن قسم جي ٻوٽي صرف JPA وضاحتن جي مطالعي جي حوالي سان مطالعو ڪرڻ جو مطلب آهي.

ايپليڪيشن لکڻ: EJB HelloWorld

هن حصي ۾، اسان هڪ ننڍڙو جاوا EE HelloWorld ايپليڪيشن لکنداسين، جنهن کي اسين GlassFish سرور تي ترتيب ڏينداسين. ھن مضمون کي پڙھڻ کان اڳ، اسان زور ڀريو ٿا ته توھان پڙھو مضمون پنھنجي مقامي ماحول کي ترتيب ڏيڻ تي .
  1. IntelliJ IDEA ۾ هڪ نئون Maven پروجيڪٽ ٺاهيو.

    فائل -> نئون -> پروجيڪٽ ...

    EJB متعارف ڪرايو - 3
  2. ڪلڪ ڪريو اڳيون .

  3. Maven پروجيڪٽ جي پيراگراف ۾ ڀريو:

    EJB متعارف ڪرايو - 4
  4. ڪلڪ ڪريو ختم

  5. پروجيڪٽ ٺاهي وئي آهي ۽ هيٺ ڏنل ڍانچي آهي:

    EJB متعارف ڪرايو - 5
pom.xml فائل هن طرح ڏسڻ ۾ اچي ٿي: EJB متعارف ڪرايو - 6سڀ کان پهريان، اسان کي جاوا EE API تي انحصار شامل ڪرڻ جي ضرورت آهي، ۽ ويب ايپليڪيشن آرڪائيو (جنگ) جي صورت ۾ اسان جي پروجيڪٽ جي پيڪنگنگ کي پڻ بيان ڪرڻ جي ضرورت آهي. ائين ڪرڻ لاءِ، توھان کي ھيٺ ڏنل فارم ۾ pom.xml ڪوڊ تبديل ڪرڻو پوندو.
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.javarush.lectures</groupId>
    <artifactId>ejb_demo</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
        </dependency>
    </dependencies>

</project>
اڳيون، توھان اڳتي ڪري سگھوٿا جاوا ڪوڊ ڏانھن. اسان جي درخواست آسان ٿي ويندي. اسان وٽ 1 سرورٽ ۽ 1 EJB هوندو. هي هڪ بي رياستي سيشن بين هوندو. EJB جي اندر اسان صرف 1 طريقو بيان ڪنداسين جيڪو "هيلو ورلڊ" اسٽرنگ کي واپس آڻيندو. سڀ کان پهريان، اچو ته هڪ پيڪيج ٺاهي com.javarush.lectures. پوء، پيڪيج جي اندر com.javarush.lectures، اسان ٺاهينداسين اسان جي بين - DemoEJB. ٻوٽن جو ڪوڊ هيٺ ڏنل آهي:
import javax.ejb.Stateless;

@Stateless
public class DemoEJB {
    public String helloWorld() {
        return "Hello world!";
    }
}
جيئن اڳ ۾ چيو ويو آهي، هر شيء بلڪل سادو آهي. اسان جو ايندڙ قدم ھڪڙو سرورٽ ٺاھيو آھي جيڪو HTTP جي درخواست جي جواب جي طور تي EJB کان قدر پاس ڪندو. اهو نوٽ ڪرڻ جي قابل آهي ته servlets هن مضمون جو موضوع نه آهن، پر توهان اڃا تائين انهن کي استعمال ڪرڻ جي ضرورت پوندي EJB کي ظاهر ڪرڻ لاء. هن کي ڪرڻ لاء، اچو ته DemoServletEJB وانگر ساڳئي پيڪيج ۾ هڪ نئون سروليٽ ٺاهيو. ان جو ڪوڊ هيٺ ڏنل آهي:
@WebServlet("/helloWorld")
public class DemoServlet extends HttpServlet {

    @EJB
    private DemoEJB ejb;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.getWriter().write(ejb.helloWorld());
    }
}
هتي ڪوڊ تي ڪجهه مختصر تبصرا آهن. خلاصو @WebServlet("/helloWorld")- اسان جي ڪلاس کي هڪ سروليٽ طور بيان ڪري ٿو جيڪو HTTP درخواستن کي آخري پوائنٽ تي عمل ڪندو /helloWorld. اسان جي ڪلاس ۾ ھڪڙو ميدان آھي - DemoEJB ejb. هي آهي اسان جو ٻوٽو اڳ بيان ڪيو ويو آهي. ڪلاس جي فيلڊ تي هڪ تشريح - @EJBانحصار انجيڪشن (DI) انجام ڏئي ٿو. اهي. ejb متغير خودڪار طريقي سان نئين مثال سان شروع ڪيو ويندو آهي جڏهن گهربل هجي. اسان جو ڪلاس HttpServlet جو اولاد آهي ۽ سپر ڪلاس طريقن مان هڪ کي مٿي ڪري ٿو - doGet. اهو طريقو HTTP GET جي درخواستن تي عمل ڪري ٿو ۽ ٻه پيٽرولر وٺندو آهي - HttpServletRequest۽ HttpServletResponse. HttpServletRequestهڪ ايندڙ HTTP درخواست جي باري ۾ معلومات حاصل ڪرڻ جي خدمت ڪري ٿو. HttpServletResponseهڪ درخواست جو جواب پيدا ڪرڻ جي ضرورت آهي. طريقي جي اندر، اسان PrintWriterجوابي اعتراض ( HttpServletResponse) مان اعتراض حاصل ڪريون ٿا، استعمال ڪندي getWriter(). اڳيون، اسان استعمال ڪندي نتيجي واري اعتراض کي ڪجهه قدر لکي سگھون ٿا write. جيڪو، حقيقت ۾، اهو آهي جيڪو اسان استعمال ڪريون ٿا PrintWriter-a اعتراض ۾ لکڻ سان جيڪو قدر حاصل ڪيو ويو EJB مان جيڪو اسان بيان ڪيو آهي (قيمت آهي تار ”هيلو ورلڊ!“). ڪلائنٽ جيڪو HTTP درخواست موڪلي ٿو ان جي درخواست جي جواب جي طور تي هي قيمت وصول ڪندو. ايندڙ قدم ايپليڪيشن کي لانچ ڪرڻ آهي GlassFish Java EE سرور. هن کي ڪرڻ لاءِ، اسان هڪ نئين ترتيب ٺاهينداسين، جيئن مضمون ۾ بيان ڪيو ويو آهي مقامي ماحول کي ترتيب ڏيڻ . ھيٺ ڏنل ھڪڙي اسڪرين شاٽ آھي جيڪو موجوده پروجيڪٽ لاءِ مڪمل ٿيل ٺاھ جوڙ جو. پڪ ڪريو ته توهان شروع ڪرڻ کان پهريان GlassFish سرور نصب ڪيو آهي: EJB متعارف ڪرايو - 7لانچ جي ترتيب ٺاهڻ کان پوء، ايپليڪيشن کي لانچ ڪريو Run -> Run 'ejb_demo' مينيو استعمال ڪندي يا Shift+F10 hotkey استعمال ڪندي . لانچ ڪرڻ کان پوءِ، توھان ان جا لاگ ڏسي سگھو ٿا: EJB متعارف ڪرايو - 8۽ پڻ برائوزر جيڪو کلي ٿو: EJB متعارف ڪرايو - 9اھو سڀ ڪجھ ظاھر ڪري ٿو ته ايپليڪيشن ارادي مطابق ڪم ڪري ٿي.

نتيجو

هن آرٽيڪل ۾ اسان EJB - Enterprise JavaBeans سان واقف ٿي چڪا آهيون. اسان سوالن تي غور ڪيو جيئن:
  • EJB ڇا آهي؟
  • EJB تاريخ
  • EJBs جا مختلف قسم
ياد رهي ته EJBs هيٺين قسمن ۾ اچن ٿا:
  • Message Driven Beans (پيغام تي هلندڙ لوبيا)؛
  • Entity Beans - JPA (Java Persistence API) ۾ بيان ڪيل ادارن جي وضاحت ۽ ڊيٽا کي ذخيرو ڪرڻ لاءِ استعمال ڪيو ويو؛
  • سيشن لوبيا:
    • بي رياست (بي رياست)
    • رياستي (موجوده سيشن رياست جي حمايت سان)
    • سنگلٽن (سڄي ايپليڪيشن لاءِ هڪ اعتراض؛ EJB 3.1 کان شروع)
اسان EJB استعمال ڪندي هڪ ننڍڙي HelloWorld ايپليڪيشن پڻ لکي. PD جي طور تي، توهان هن آرٽيڪل جو عملي حصو پاڻ کي ورجائي سگهو ٿا. ۽ پوءِ توھان جي ايپليڪيشن ۾ ٻه وڌيڪ سروليٽ شامل ڪريو جيڪي قيمت حاصل ڪرڻ لاءِ رياستي ۽ سنگلٽن بينز استعمال ڪندا.
تبصرا
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION