الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو اسم مصنع بذرة EJBHome initialContex

مغلق
بدأه حسام الملحم في 21 نوفمبر 2005 · 3 رد · 1,466 مشاهدة · في JavaEE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم،،

أستخدم 4.1 Net beans و Sun Application Server 8.1،، وحاليا أقوم بتجربة البذور EJB،، وصنعت أول SessionBean واسمها hussam.beans.FirstTestBean..

المصنع البعيد Remote Home: اسمه hussam.beans.FirstTestRemoteHome...

وضعت هذه البذرة في الخادم Sun Application Server

صنعت برنامج يستخدم هذه البذرة... لكن واجهتني مشكلة في الحصول على مصنع البذرة RemoteHome..

طبعا نستعمل InitialContext للحصول على المصنع، لكن ما هو الاسم الذي أبحث عنه للحصول على هذا المصنع؟؟ ومن أين أعرفه؟؟

context=new InitialContext();
home = (ChatterRemoteHome)context.lookup("java:comp/env/hussam/beans/FirstTestRemoteHome");
//أم ماذا،، ما هو الاسم الذي يفترض أن يذهب هنا؟

طبعا هذا هو الخطأ الذي يخرج من الأمر السابق:

 javax.naming.NameNotFoundException
com.sun.enterprise.naming.NamingManagerImpl.lookup(NamingManagerImpl.java:668), com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:132), com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:288), javax.naming.InitialContext.lookup(InitialContext.java:351), org.apache.jsp.index_jsp._jspService(index_jsp.java:86), org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:105), javax.servlet.http.HttpServlet.service(HttpServlet.java:860), org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:336), org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:301), org.apache.jasper.servlet.JspServlet.service(JspServlet.java:251), javax.servlet.http.HttpServlet.service(HttpServlet.java:860), sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method), sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39), sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25), java.lang.reflect.Method.invoke(Method.java:585), org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249), java.security.AccessController.doPrivileged(Native Method), javax.security.auth.Subject.doAsPrivileged(Subject.java:517), org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282), org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165), org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257), org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55), org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161), java.security.AccessController.doPrivileged(Native Method), org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157), org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263), org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551), org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225), org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173), org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551), org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:161), org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551), org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132), org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551), org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933), org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:185), com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:653), com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:534), com.sun.enterprise.web.connector.grizzly.ProcessorTask.doTask(ProcessorTask.java:403), com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:55)]

وهذا هو شرح البذرة:

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar version="2.1" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
  <display-name>EJBFirstTest</display-name>
  <enterprise-beans>
    <session>
      <display-name>FirstTestSB</display-name>
      <ejb-name>FirstTestBean</ejb-name>
      <home>hussam.beans.FirstTestRemoteHome</home>
      <remote>hussam.beans.FirstTestRemote</remote>
      <local-home>hussam.beans.FirstTestLocalHome</local-home>
      <local>hussam.beans.FirstTestLocal</local>
      <ejb-class>hussam.beans.FirstTestBean</ejb-class>
      <session-type>Stateless</session-type>
      <transaction-type>Container</transaction-type>
    </session>
  </enterprise-beans>
  <assembly-descriptor>
    <container-transaction>
      <method>
        <ejb-name>FirstTestBean</ejb-name>
        <method-name>*</method-name>
      </method>
      <trans-attribute>Required</trans-attribute>
    </container-transaction>
  </assembly-descriptor>
</ejb-jar>
#2

بعد التجارب والمحاولات والأخطاء والتحقق والتثبت

الجواب طلع:

ejb/FirstTestBean

!!

#3

عذرا.اليوم فقط عرفت بافتتاح القسم. :)

حلوة ترجمة "البذرة" :D

#4

ماشا الله عليك أخي أبو مازن مع إنه ليس لدي خلفية مع الـ EJB ولكني منجذب لها نتيجة ما سمعت عنها ،،،

تحياتي ،،،

أعلم أن الموضوع قديم   :)
public Money getRich(String name){
return new Money(1,000,000,000 );
}

هذا الموضوع مغلق.

مواضيع مشابهة