I'm getting a naming exception, and can't seem to track it down (everything looks
logical to me). I'm transferring the CMP primer example from Orion to Jboss at
www.jollem.com. I'm trying to prove to my boss (and myself, though I know it) that
EJB applications are transportable between EJB servers. Can anyone shed any light?
1. Error message
EmbeddedTomcat] Caught "javax.naming.NoInitialContextException" while attemptin
g to lookup the AddressBook bean at "AddressBookApplication".
2. Code:
final String location = "AddressBookApplication";
if (error == null) {
try {
// Attempt to lookup an object at the specified location in the JNDI
// context.
Object boundObject = context.lookup(location);
// Try to convert it to an instance of AddressBook, the home
// interface for our bean.
addressBook = (AddressBook) PortableRemoteObject.narrow(boundObject,
AddressBook.class);
// If we got this far, we've done it, let's save the reference to the
// AddressBook home interface in the session for future use by both
// this page and the other JSP pages.
session.setAttribute("AddressBookApplication", addressBook);
} catch (Exception e) {
exception = e;
error = "Caught \"" + exception.getClass().getName() + "\" while " +
"attempting to lookup the AddressBook bean at \"" +
location + "\".";
errorStream.println(error);
exception.printStackTrace(errorStream);
}
}
3. ejb-jar.xml
?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
"http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd">
<ejb-jar>
<display-name>AddressBook (EJB module)</display-name>
<description>EJB module that contains one Container Managed Entity Bean,
namely the AddressBook bean</description>
<enterprise-beans>
<entity>
<description>This bean implements the back end of the address book
application</description>
<display-name>Address book entry</display-name>
<ejb-name>AddressBookApplication</ejb-name>
<home>addressbook.ejb.AddressBook</home>
<remote>addressbook.ejb.AddressEntry</remote>
<ejb-class>addressbook.ejb.AddressEntryBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<cmp-field><field-name>name</field-name></cmp-field>
<cmp-field><field-name>address</field-name></cmp-field>
<cmp-field><field-name>city</field-name></cmp-field>
<primkey-field>name</primkey-field>
</entity>
</enterprise-beans>
<assembly-descriptor>
<security-role>
<description>Users</description>
<role-name>users</role-name>
</security-role>
</assembly-descriptor>
</ejb-jar>
no jboss-xml file
4. CLASSPATH
CLASSPATH=.;d:\javaprograms\javasource;c:\jdk1.3\lib\mail.jar;c:\jdk1.3\lib\acti
vation.jar;D:\javajdbcs\jdbc1\mm.mysql.jdbc-1.2c;C:\jdk1.3\lib\tools.jar;D:\Java
ServletProducts\JbossData\addressbook;D:\JavaServletProducts\JbossData\addressbo
ok\src\java;D:\javajarfiles\ejb.jar;D:\javajarfiles\servlet.jar;D:\javajarfiles\
server.jar\jboss-client.jar;D:\javajarfiles;D:\javajarfiles\jnp-client.jar;D:\Ja
vaServletProducts\JbossData\addressbook\src\java\addressbook
5. LOG
D:\JavaServletProducts\jboss-tomcat\jboss_tomcat\jboss-2.0-FINAL\bin>.\run tomca
t
Using configuration "tomcat"
[Console logging] Initialized
[Classpath extension] Initializing
[Classpath extension] Initialized
[File logging] Initializing
[File logging] Initialized
[Classpath extension] Initializing
[Classpath extension] Initialized
[Classpath extension] Initializing
[Classpath extension] Initialized
[Info] Java version: 1.3.0,Sun Microsystems Inc.
[Info] Java VM: Java HotSpot(TM) Client VM 1.3.0-C,Sun Microsystems Inc.
[Info] System: Windows 2000 5.0,x86
[Classpath extension] Initializing
[Classpath extension] Initialized
[JDBC] Loaded JDBC-driver:org.hsql.jdbcDriver
[JDBC] Loaded JDBC-driver:org.enhydra.instantdb.jdbc.idbDriver
[Webserver] Initializing
[Webserver] Initialized
[Hypersonic] Initializing
[Hypersonic] Initialized
[Naming] Initializing
[Naming] Naming started on port 1099
[Naming] Initialized
[Transaction manager] Initializing
[Transaction manager] Initialized
[JAAS Security Manager] Initializing
[JAAS Security Manager] Initialized
[Simple Realm Mapping] Initializing
[Simple Realm Mapping] Initialized
[Security manager] Initializing
[Security manager] Initialized
[InstantDB] Initializing
[InstantDB] Initialized
[DefaultDS] Initializing
[DefaultDS] Initialized
[Container factory] Initializing
[Container factory] Initialized
[Auto deploy] Watching D:\JavaServletProducts\jboss-tomcat\jboss_tomcat\jboss-2.
0-FINAL\deploy
[Auto deploy] Initializing
[Auto deploy] Initialized
[JMX RMI Adaptor] Initializing
[JMX RMI Adaptor] Initialized
[JMX RMI Connector] Initializing
[JMX RMI Connector] Initialized
[Configuration] Initializing
[Configuration] Initialized
[J2EE Deployer] Initializing
[J2EE Deployer] Initialized
[EmbeddedTomcat] Initializing
[EmbeddedTomcat] Initialized
[SpyderMQ] Initializing
[SpyderMQ] Initialized
[EmbeddedTomcat] Starting
[EmbeddedTomcat] Testing if Tomcat is present....
[EmbeddedTomcat] OK
[EmbeddedTomcat] ContextManager: Adding context Ctx( )
[EmbeddedTomcat] path="" :jsp: init
[EmbeddedTomcat] PoolTcpConnector: Starting HttpConnectionHandler on 8080
[EmbeddedTomcat] Started
[Simple Realm Mapping] Starting
[Simple Realm Mapping] Started
[Webserver] Starting
[Webserver] Codebase set to http://IL93-1093:8083/
[Webserver] Started webserver on port 8083
[Webserver] Started
[Transaction manager] Starting
[Transaction manager] Started
[Hypersonic] Starting
[Hypersonic] Server 1.4 is running
[Hypersonic] Database started
[Hypersonic] Started
[Naming] Starting
[Naming] Started
[InstantDB] Starting
[Hypersonic] Press [Ctrl]+[C] to abort
[InstantDB] XA Connection pool InstantDB bound to java:/InstantDB
Enhydra InstantDB - Version 3.21
[InstantDB] The Initial Developer of the Original Code is Lutris Technologies In
c.
Portions created by Lutris are Copyright (C) 1997-2000 Lutris Technologies, Inc.
All Rights Reserved.
[InstantDB] Started
[DefaultDS] Starting
[DefaultDS] XA Connection pool DefaultDS bound to java:/DefaultDS
[DefaultDS] Started
[JAAS Security Manager] Starting
[JAAS Security Manager] Started
[Container factory] Starting
[Container factory] Started
[J2EE Deployer] Starting
[J2EE Deployer] Cleaning up deployment directory file:/D:/JavaServletProducts/jb
oss-tomcat/jboss_tomcat/jboss-2.0-FINAL/bin/../tmp/deploy/
[J2EE Deployer] Started
[Security manager] Starting
[Security manager] Started
[Auto deploy] Starting
[Auto deploy] Auto deploy of file:/D:/JavaServletProducts/jboss-tomcat/jboss_tom
cat/jboss-2.0-FINAL/deploy/addressbook.ear
[J2EE Deployer] Deploy J2EE application: file:/D:/JavaServletProducts/jboss-tomc
at/jboss_tomcat/jboss-2.0-FINAL/deploy/addressbook.ear
[J2EE Deployer] Could not delete temporary file: /D:/JavaServletProducts/jboss-t
omcat/jboss_tomcat/jboss-2.0-FINAL/bin/../tmp/deploy/copy1001.zip
[J2EE Deployer] Create application addressbook.ear
[J2EE Deployer] Installing EJB package: addressbook-ejb.jar
[J2EE Deployer] Installing web package: addressbook-web.war
[J2EE Deployer] Starting module addressbook-ejb.jar
[Container factory] Deploying:file:/D:/JavaServletProducts/jboss-tomcat/jboss_to
mcat/jboss-2.0-FINAL/bin/../tmp/deploy/addressbook.ear/ejb1002.jar
[Verifier] Verifying file:/D:/JavaServletProducts/jboss-tomcat/jboss_tomcat/jbos
s-2.0-FINAL/bin/../tmp/deploy/addressbook.ear/ejb1002.jar
02:13:29 AddressEntryBean[1]: <init>()
[Container factory] Deploying AddressBookApplication
[JAWS] Table 'AddressBookApplication' already exists
[Bean Cache] Cache policy scheduler started
[Container factory] Deployed application: file:/D:/JavaServletProducts/jboss-tom
cat/jboss_tomcat/jboss-2.0-FINAL/bin/../tmp/deploy/addressbook.ear/ejb1002.jar
[J2EE Deployer] Starting module addressbook-web.war
[EmbeddedTomcat] ContextManager: Adding context Ctx( /addressbook-web )
[EmbeddedTomcat] path="/addressbook-web" :jsp: init
[J2EE Deployer] J2EE application: file:/D:/JavaServletProducts/jboss-tomcat/jbos
s_tomcat/jboss-2.0-FINAL/deploy/addressbook.ear is deployed.
[Auto deploy] Auto deploy of file:/D:/JavaServletProducts/jboss-tomcat/jboss_tom
cat/jboss-2.0-FINAL/deploy/tomcat-test.ear
[J2EE Deployer] Deploy J2EE application: file:/D:/JavaServletProducts/jboss-tomc
at/jboss_tomcat/jboss-2.0-FINAL/deploy/tomcat-test.ear
[J2EE Deployer] Could not delete temporary file: /D:/JavaServletProducts/jboss-t
omcat/jboss_tomcat/jboss-2.0-FINAL/bin/../tmp/deploy/copy1004.zip
[J2EE Deployer] Create application tomcat-test.ear
[J2EE Deployer] Installing web package: tomcat-test.war
[J2EE Deployer] Added ./client.jar to common classpath
[J2EE Deployer] Installing EJB package: tomcat-test.jar
[J2EE Deployer] Starting module tomcat-test.jar
[Container factory] Deploying:file:/D:/JavaServletProducts/jboss-tomcat/jboss_to
mcat/jboss-2.0-FINAL/bin/../tmp/deploy/tomcat-test.ear/ejb1007.jar
[Verifier] Verifying file:/D:/JavaServletProducts/jboss-tomcat/jboss_tomcat/jbos
s-2.0-FINAL/bin/../tmp/deploy/tomcat-test.ear/ejb1007.jar
[Container factory] Deploying Optimized
[Container factory] Deploying NonOptimized
[Container factory] Deployed application: file:/D:/JavaServletProducts/jboss-tom
cat/jboss_tomcat/jboss-2.0-FINAL/bin/../tmp/deploy/tomcat-test.ear/ejb1007.jar
[J2EE Deployer] Starting module tomcat-test.war
[EmbeddedTomcat] ContextManager: Adding context Ctx( /jboss )
[EmbeddedTomcat] path="/jboss" :jsp: init
[J2EE Deployer] J2EE application: file:/D:/JavaServletProducts/jboss-tomcat/jbos
s_tomcat/jboss-2.0-FINAL/deploy/tomcat-test.ear is deployed.
[Auto deploy] Started
[SpyderMQ] Starting
[SpyderMQ] Testing if SpyderMQ is present....
[SpyderMQ] OK
[SpyderMQ] Starting SpyderMQ...
[SpyderMQ] Started
[JMX RMI Adaptor] Starting
[JMX RMI Adaptor] Started
[JMX RMI Connector] Starting
[JMX RMI Connector] Started
[Default] 23 services and 4 other MBeans started.
[Default] Shutdown hook added
[Default] jBoss 2.0 FINAL Started
[EmbeddedTomcat] path="/addressbook-web" :jsp: init
[EmbeddedTomcat] Caught "javax.naming.NoInitialContextException" while attemptin
g to lookup the AddressBook bean at "AddressBookApplication".
[EmbeddedTomcat] javax.naming.NoInitialContextException: Need to specify class n
ame in environment or system property, or as an applet parameter, or in an appli
cation resource file: java.naming.factory.initial
[EmbeddedTomcat] at javax.naming.spi.NamingManager.getInitialContext(Nami
ngManager.java:646)
[EmbeddedTomcat] at javax.naming.InitialContext.getDefaultInitCtx(Initial
Context.java:246)
[EmbeddedTomcat] at javax.naming.InitialContext.getURLOrDefaultInitCtx(In
itialContext.java:283)
[EmbeddedTomcat] at javax.naming.InitialContext.lookup(InitialContext.jav
a:350)
[EmbeddedTomcat] at _0002flist_0002ejsplist_jsp_13._jspService(_0002flist
_0002ejsplist_jsp_13.java:129)
[EmbeddedTomcat] at org.apache.jasper.runtime.HttpJspBase.service(HttpJsp
Base.java:119)
[EmbeddedTomcat] at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:853)
[EmbeddedTomcat] at org.apache.jasper.servlet.JspServlet$JspServletWrappe
r.service(JspServlet.java:177)
[EmbeddedTomcat] at org.apache.jasper.servlet.JspServlet.serviceJspFile(J
spServlet.java:318)
[EmbeddedTomcat] at org.apache.jasper.servlet.JspServlet.service(JspServl
et.java:391)
[EmbeddedTomcat] at javax.servlet.http.HttpServlet.service(HttpServlet.ja
va:853)
[EmbeddedTomcat] at org.apache.tomcat.core.ServletWrapper.doService(Servl
etWrapper.java:404)
[EmbeddedTomcat] at org.apache.tomcat.core.Handler.service(Handler.java:2
86)
[EmbeddedTomcat] at org.apache.tomcat.core.ServletWrapper.service(Servlet
Wrapper.java:372)
[EmbeddedTomcat] at org.apache.tomcat.core.ContextManager.internalService
(ContextManager.java:799)
[EmbeddedTomcat] at org.apache.tomcat.core.ContextManager.service(Context
Manager.java:745)
[EmbeddedTomcat] at org.apache.tomcat.service.http.HttpConnectionHandler.
processConnection(HttpConnectionHandler.java:210)
[EmbeddedTomcat] at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolT
cpEndpoint.java:407)
[EmbeddedTomcat] at org.apache.tomcat.util.ThreadPool$ControlRunnable.run
(ThreadPool.java:498)
[EmbeddedTomcat] at java.lang.Thread.run(Thread.java:484)
[EmbeddedTomcat] Ctx( /addressbook-web ): Exception in: R( /addressbook-web + /l
ist.jsp + null)
javax.servlet.ServletException: addressbook/ejb/AddressEntry
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:399)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:4
04)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372
)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.
java:799)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:745
)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnectio
n(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
407)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java
:498)
at java.lang.Thread.run(Thread.java:484)
Root cause:
java.lang.NoClassDefFoundError: addressbook/ejb/AddressEntry
at _0002flist_0002ejsplist_jsp_13._jspService(_0002flist_0002ejsplist_js
p_13.java:161)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:119)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspSer
vlet.java:177)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:3
18)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:4
04)
at org.apache.tomcat.core.Handler.service(Handler.java:286)
at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372
)
at org.apache.tomcat.core.ContextManager.internalService(ContextManager.
java:799)
at org.apache.tomcat.core.ContextManager.service(ContextManager.java:745
)
at org.apache.tomcat.service.http.HttpConnectionHandler.processConnectio
n(HttpConnectionHandler.java:210)
at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:
407)
at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java
:498)
at java.lang.Thread.run(Thread.java:484)
[Bean Cache] Resized cache for bean AddressBookApplication: old size = 1000, new
size = 50
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
List Help?: [EMAIL PROTECTED]