Hi! I know that there are responses on the list for this kind of problem but there is no archive...yet.
I am new to JBoss after moving from Resin EE and I am trying to get the hand of it - especially in the deployment area. I have read a lot of tutorials based on ant (includind the official doc) but I can`t make the entity bean bound. I have been banging my head agains the wall for the last day and it`s starting to hurt really bad so any help will be greatly appreciated. Okay, before giving the details here is the behaviour: the war is deployed okay and I can see the index.html page. The bean classes are very simple - I have listed them at the end of the message. The problem is that when I am accessing the jsp I cannot get the entity bean reference: <snip from the log - the extra logging is from the jsp> 14:11:10,217 INFO [jbossweb] Started WebApplicationContext[/bs,file:/usr/local/jboss-3.0.6/server/default/deploy/bs.war/] 14:11:10,394 INFO [jbossweb] successfully deployed file:/usr/local/jboss-3.0.6/server/default/deploy/bs.war/ to /bs 14:11:10,394 INFO [MainDeployer] Deployed package: file:/usr/local/jboss-3.0.6/server/default/deploy/bs.war/ 14:11:31,375 INFO [jbossweb] Registered jboss.web:Jetty=0,HttpContext=0,context=/ 14:11:31,389 INFO [jbossweb] Registered jboss.web:Jetty=0,HttpContext=0,context=/,RootNotFoundHandler=0 14:11:31,390 INFO [jbossweb] Started HttpContext[/] 14:11:44,567 INFO [jbossweb] Got context 14:11:44,644 WARN [jbossweb] WARNING: Naming Exception 1046261504621 javax.naming.NameNotFoundException: HandlerBean not bound at org.apache.jsp.test$jsp.jspInit(test$jsp.java:52) at org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:90) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.load(JspServlet.java:142) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:178) at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:188) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:381) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:473) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:360) at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:280) at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:553) at org.mortbay.http.HttpContext.handle(HttpContext.java:1717) at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:549) at org.mortbay.http.HttpContext.handle(HttpContext.java:1667) at org.mortbay.http.HttpServer.service(HttpServer.java:862) at org.jboss.jetty.Jetty.service(Jetty.java:497) at org.mortbay.http.HttpConnection.service(HttpConnection.java:759) at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:923) at org.mortbay.http.HttpConnection.handle(HttpConnection.java:776) at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:202) at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:289) at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:455) 14:11:44,645 INFO [jbossweb] Naming Exception 1046261504621: javax.naming.NameNotFoundException: HandlerBean not bound </snip> Here`s is my configuration: jboss-3.0.6 on RH 7.3 $ java -version java version "1.4.1_01" Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.1_01-b01) Java HotSpot(TM) Client VM (build 1.4.1_01-b01, mixed mode) I have configured jboss with mysql using the samples xml and here goes the application. I have a very light entity bean that is being called by a jsp. The directory structure is: $ tree bs bs |-- META-INF | |-- ejb-jar.xml | `-- jbosscmp-jdbc.xml |-- WEB-INF | `-- web.xml |-- index.html |-- test | |-- Handler.class | |-- HandlerBean.class | `-- HandlerHome.class `-- test.jsp 3 directories, 8 files I have symlinked the directory to $JBOSS_HOME/server/default/deploy/bs.war The sources are as follow: #### test.jsp <%@ page import="javax.ejb.*,javax.naming.*,test.*, java.util.*" %> <html> <%! HandlerHome home; public void jspInit() { try { // Get a naming context InitialContext initial = new InitialContext(); getServletContext().log("Got context"); home = (HandlerHome) initial.lookup("HandlerBean"); getServletContext().log("Got reference"); } catch (NamingException e) { getServletContext().log("Naming Exception "+System.currentTimeMillis(), e.fillInStackTrace()); } } %> <% %> </html> ########################## As you can see this jsp only get`s the context and then a reference to the entity bean. The deployment files is listed here: ########### ejb-jar.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd"> <ejb-jar> <enterprise-beans> <entity> <ejb-name>HandlerBean</ejb-name> <local-home>test.HandlerHome</local-home> <local>test.Handler</local> <ejb-class>test.HandlerBean</ejb-class> <persistence-type>Container</persistence-type> <cmp-version>2.x</cmp-version> <reentrant>True</reentrant> <prim-key-class>java.lang.String</prim-key-class> <primkey-field>entry</primkey-field> <abstract-schema-name>ejbtest</abstract-schema-name> <cmp-field> <field-name>entry</field-name> </cmp-field> <cmp-field> <field-name>name</field-name> </cmp-field> </entity> </enterprise-beans> </ejb-jar> ##################################### ##################### jboss-cmp <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE jbosscmp-jdbc PUBLIC "-//JBoss//DTD JBOSSCMP-JDBC 3.0//EN" "http://www.jboss.org/j2ee/dtd/jbosscmp-jdbc_3_0.dtd"> <jbosscmp-jdbc> <enterprise-beans> <entity> <ejb-name>TestBean</ejb-name> <table-name>TestBean</table-name> <cmp-field> <field-name>entry</field-name> <column-name>entry</column-name> </cmp-field> <cmp-field> <field-name>name</field-name> <column-name>name</column-name> </cmp-field> </entity> </enterprise-beans> </jbosscmp-jdbc> ################# the classes: ################# Handler.java package test; import javax.ejb.EJBLocalObject; public interface Handler extends EJBLocalObject { public String getName(); void setName(String name); public String getEntry(); void setEntry(String id); } ############## ################# HandlerBean.java package test; import javax.ejb.*; public abstract class HandlerBean implements EntityBean { public abstract String getName(); public abstract void setName(String name); public abstract String getEntry(); public abstract void setEntry(String id); public String ejbCreate(String id, String name) throws CreateException { setEntry(id); setName(name); return null; } public void ejbPostCreate(String name, String id) { } } ########################### ##################### HandlerHome.java package test; import javax.ejb.EJBLocalHome; import javax.ejb.CreateException; import javax.ejb.FinderException; public interface HandlerHome extends EJBLocalHome { public Handler create(String id, String name) throws CreateException; public Handler findByPrimaryKey(String entry) throws FinderException; } ############################## P.S. Sorry about this huge email. -- Thanks, costin ------------------------------------------------------- This SF.net email is sponsored by: Scholarships for Techies! Can't afford IT training? All 2003 ictp students receive scholarships. Get hands-on training in Microsoft, Cisco, Sun, Linux/UNIX, and more. www.ictp.com/training/sourceforge.asp _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user