I'm newbie in J2EE, having read a bunch of stuff I'm still in the wood. Please bear with me.
Here's an example descriptor: | <ejb-jar> | <enterprise-beans> | <session> | <ejb-name>beanA</ejb-name> | ... | <resource-ref> | <res-ref-name>jdbc/dbname</res-ref-name> | <jndi-name>jdbc/dbname</jndi-name> | <res-type>javax.sql.DataSource</res-type> | <res-auth>Container</res-auth> | <res-sharing-scope>Shareable</res-sharing-scope> | </resource-ref> | | <env-entry> | <env-entry-name>Var1</env-entry-name> | <env-entry-type>java.lang.String</env-entry-type> | <env-entry-value>Some value</env-entry-value> | </env-entry> | ... | | | <ejb-ref> | <ejb-ref-name>ejb/ses1</ejb-ref-name> QUESTION 1: ejb/ses1??? Is it "SS1" JNDI name? Why isn't JNDI name declared in "ejb-jar.xml"?? | <ejb-ref-type>session</ejb-ref-type> | <home>tests.SS1Home</home> | <remote>tests.SS1</remote> | </ejb-ref> | | <ejb-local-ref> | <ejb-ref-name>ejb/locses1</ejb-ref-name> | <ejb-ref-type>session</ejb-ref-type> | <local-home>tests.LocalSS1Home</local-home> | <local>tests.LocalSS1</local> | </ejb-local-ref> | ... | | </session> | | <session> | <ejb-name>SS1</ejb-name> | <home>tests.SS1Home</home> | <local-home>tests.LocalSS1Home</local-home> | <remote>tests.SS1</remote> | <local>tests.LocalSS1</local> | <ejb-class>tests.SS1Bean</ejb-class> | ... | </session> | ... | </enterprise-beans> | </ejb-jar> | QUESTION 2. What's the purpose of "ejb-ref", "ejb-local-ref" in EJB deployment descriptor? Is it that if one EJB (ejb/beanA) depends on another, say (ejb/ses1) (by virtue of having the dependency declared in deployment descriptor) - deployment of "ejb/beanA" would fail if "ejb/ses1" was not deployed on the target server? That DEPLOYMENT of an EJB (depending on a particular resource) would FAIL if that resource it depends on is absent on the destination server? Is this the only purpose? QUESTION 3. Should I specify JNDI names for <ejb-name> tag? QUESTION 4. Is "fully qualified" JNDI name (for the above bean): JNDI name = "java:comp/" + <ejb-name> example: "java:comp/ejb/beanA" OR just: JNDI name = "java:" + <ejb-name> example: "java:ejb/beanA" Is this true for all application servers? JBoss? Or does it depends on "ejb-name" to "jndi-name" mapping as specified in "jboss.xml" (see below) QUESTION 5. For JBoss EJB's, "ejb-name" to "jndi-name" mapping is done in "jboss.xml": | <jboss> | <enterprise-beans> | <entity> | <ejb-name>beanB</ejb-name> | <local-jndi-name>ejb/beanB</local-jndi-name> | </entity> | <session> | <ejb-name>beanA</ejb-name> | <jndi-name>ejb/beanA</jndi-name> | </session> | </enterprise-beans> | </jboss> | Does it mean if "jndi-name" is NOT specified, then by default, "jndi-name" of the bean would equal "ejb-name"? "java:com/" + <ebj-name> EQUALS: "java:com/" + <jndi-name> EQUALS: "java:com/beanA" QUESTION 6. Why "java:comp/"? What's that for? Is it: a. "java:comp/" b. "java:comp" c. "java:" I think I've seen different versions, getting really confused. QUESTION 7. For environment variables, it seems: JNDI name="java:comp/env" +<env-entry-name> In this case, "java:comp/env/Var1" Is this true for all servers? QUESTION 8. For data sources (JBoss), you need to put "mysql-ds.xml" under "Deploy" folder: | <datasources> | <local-tx-datasource> | <jndi-name>jdbc/exampleDS</jndi-name> <connection-url>jdbc:mysql://127.0.0.1:3306/DBName</connection-url> | <driver-class>...</driver-class> | <user-name>xxx</user-name> | <password>xxx</password> | </local-tx-datasource> | </datasources> | 6a. I dont understand why we need to append "java:" in context.lookup: | context=new InitialContext(); | dataSource=(DataSource) context.lookup("java:jdbc/exampleDS"); | 6b. Can we rename the file name "mysql-ds.xml" to anything we like as long as it remains in "Deploy" folder? (Tested this on JBoss) Thanks. View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=3852881#3852881 Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=3852881 ------------------------------------------------------- This SF.Net email is sponsored by: Sybase ASE Linux Express Edition - download now for FREE LinuxWorld Reader's Choice Award Winner for best database on Linux. http://ads.osdn.com/?ad_id=5588&alloc_id=12065&op=click _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user