I installed the JBoss 3.2.5 distro on my system with the following attributes:
* Linux RedHat (V9)
* Java 1.4.2
I ran into the compile issues noted in other threads (can't find javax.servlet.jar), fixed those and successfully built and deployed the Bank application.
I installed the JBoss distro in /usr/java/... as root and had to open up the 'server/default' structure so that users (other than root) could write into the directory structure. This is needed to deploy the bank application. I start the service as root, as well.
I specified 'TCP/IP' connections for the the HSQL database (in the hsqldb-ds.xml file) as specified in the Getting started guide. I verified the database was populated with data by starting the HSQL database manager tool and dumping a few of the tables. They look fine.
I can start the application and bring up the main page (http://localhost:8080/bank/main). When I enter a customer ID/password as specified by the getting started guide, the page displays:
Your request cannot be completed. The server got the following error:
The server.log also displayed a stacktrace. I found the offending class::method and augmented it to dump more information. This is what the server.log now displays:
2004-09-10 11:02:18,049 ERROR [org.jboss.ejb.plugins.LogInterceptor] EJBException:
javax.ejb.EJBException: ejbFindByCustomerId JNDI lookup exception: javax.naming.NamingException: Could not dereference object [Root exception is javax.naming.NameNotFoundException: DefaultDS not bound]
at com.sun.ebank.ejb.account.AccountBean.ejbFindByCustomerId(Unknown Source)
Hmmm. The 'DefaultDS' name doesn't seem to be bound to the database. So why would the application start but this logon operation fail?
I see something else on the console when I start the JBoss server:
MBeans waiting for other MBeans:
I Depend On: jboss.mq:service=Invoker
Depends On Me:
I Depend On: jboss.jca:service=ManagedConnectionPool,name=DefaultDS
Depends On Me:
MBEANS THAT ARE THE ROOT CAUSE OF THE PROBLEM:
I Depend On:
Depends On Me: jboss.jca:service=ManagedConnectionFactory,name=DefaultDS