Hey,
you need a jndi.properties file in the classpath (inside your jar/war), so
that when you create InitialContext it knows which class to use to create
the context. Another solution is setting these properties in the code, not
recommended
HTH,
Simon
> -----Original Message-----
> From: Kemp Randy-W18971 [mailto:[EMAIL PROTECTED]]
> Sent: mercoledì 10 gennaio 2001 22:09
> To: '[EMAIL PROTECTED]'
> Subject: [jBoss-User] Fresh pair of eyes
>
>
> 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\J
> bossData\addressbo
> ok\src\java;D:\javajarfiles\ejb.jar;D:\javajarfiles\servlet.ja
> r;D:\javajarfiles\
> server.jar\jboss-client.jar;D:\javajarfiles;D:\javajarfiles\jn
> p-client.jar;D:\Ja
> vaServletProducts\JbossData\addressbook\src\java\addressbook
>
> 5. LOG
>
>
> D:\JavaServletProducts\jboss-tomcat\jboss_tomcat\jboss-2.0-FIN
> AL\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]
>
--
--------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
List Help?: [EMAIL PROTECTED]