[jboss-user] [JNDI/Naming/Network] - Re: javax.naming.NamingException: Cannot create resource ins
ushasagi
do-not-reply at jboss.com
Mon Aug 27 08:40:58 EDT 2007
Hi,
Have Some issue while refering resource parameter in Tomcat any help and suggesion will be appreciated.
Details for the samle code is given following. I had created jarfile which contains my bean class and factory class and i placed that in server\lib as well as common\lib
Server.xml file Contains
<?xml version='1.0' encoding='utf-8'?>
factory
com.ibm.resource.ConfigFactory
bar
23
factory
org.apache.catalina.users.MemoryUserDatabaseFactory
pathname
conf/tomcat-users.xml
web.xml file Contains
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<display-name>Resource Refrence Sample</display-name>
<display-name>ShowContext</display-name>
<servlet-name>ShowContext</servlet-name>
<servlet-class>ShowContext</servlet-class>
<servlet-mapping>
<servlet-name>ShowContext</servlet-name>
<url-pattern>/ShowContext</url-pattern>
</servlet-mapping>
<resource-env-ref>
<resource-env-ref-name>MyResourceLink</resource-env-ref-name>
<resource-env-ref-type>com.ibm.resource.Config</resource-env-ref-type>
</resource-env-ref>
<welcome-file-list>
<welcome-file>Test.jsp</welcome-file>
</welcome-file-list>
</web-app>
Servlet Contains
protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
// TODO Auto-generated method stub
try {
int i=1;
System.out.println("Initializing Initial Context");
Context initCtx = new InitialContext();
System.out.println("Initial Context Lookup");
Context envCtx = (Context) initCtx.lookup("java:comp/env");
System.out.println("Environment Context Lookup");
//Object object = envCtx.lookup("bar");
Object object = envCtx.lookup("MyResourceLink");
System.out.println("Casting Context Object To Context");
Config config = (Config) object;
System.out.println("Getting Map");
Map mp=(Map) config.getAttributes();
System.out.println("Getting Map Key Set");
Set mapkeyval=mp.keySet();
Iterator itr=mapkeyval.iterator();
while(itr.hasNext())
{
String keyVal=(String)itr.next();
String myVariable = (String) config.getAttribute(keyVal);
System.out.println("Variable No: "+i);
System.out.println("Variable Name: "+keyVal);
System.out.println("Variable Value: "+myVariable);
System.out.println("---------------------------------------------");
i=i+1;
}
} catch (Exception e) {System.out.println("Unable To Get Initial Context");e.printStackTrace(); }
}
Bean Class
package com.ibm.resource;
import java.util.HashMap;
import java.util.Map;
public class Config
{
private Map attributes = null;
public Config()
{
attributes = new HashMap();
}
protected void setAttribute(String attributeName, String attributeValue)
{
attributes.put(attributeName, attributeValue);
}
public Object getAttribute(String attributeName)
{
return attributes.get(attributeName);
}
public Map getAttributes()
{
return attributes;
}
public void setAttributes(Map attributes)
{
this.attributes=attributes;
}
}
Factory Class
package com.ibm.resource;
import java.util.Enumeration;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.Name;
import javax.naming.NamingException;
import javax.naming.RefAddr;
import javax.naming.Reference;
import javax.naming.spi.ObjectFactory;
public class ConfigFactory implements ObjectFactory
{
private static Config config = null;
public Object getObjectInstance(Object object,Name name,Context nameCtx,Hashtable environment) throws NamingException
{
if(config == null)
{
config = new Config();
System.out.println("Converting Input Object Into Refrence");
Reference ref = (Reference) object;
System.out.println("Getting Address Enumeration From Refrence");
Enumeration addrs = ref.getAll();
System.out.println("Initializing Variables ");
RefAddr addr = null;
String entryName = null;
String value = null;
System.out.println("Going To Iterate Address Enumeration");
while (addrs.hasMoreElements())
{
addr = (RefAddr) addrs.nextElement();
System.out.println("Getting Type From RefAddr");
entryName = addr.getType();
System.out.println("Getting Contents");
value = (String) addr.getContent();
System.out.println("Setting Attribute");
config.setAttribute(entryName, value);
}
}
return config;
}
}
Error I Am Getting (Log File Containts)
Aug 27, 2007 5:14:46 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
Aug 27, 2007 5:14:46 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 815 ms
Converting Input Object Into Refrence
Getting Address Enumeration From Refrence
Initializing Variables
Going To Iterate Address Enumeration
Getting Type From RefAddr
Getting Contents
Setting Attribute
Getting Type From RefAddr
Getting Contents
Setting Attribute
Getting Type From RefAddr
Getting Contents
Setting Attribute
Getting Type From RefAddr
Getting Contents
Setting Attribute
Aug 27, 2007 5:14:46 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Aug 27, 2007 5:14:46 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.0.28
Aug 27, 2007 5:14:46 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Aug 27, 2007 5:14:46 PM org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx )
Aug 27, 2007 5:14:46 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\admin.xml
Aug 27, 2007 5:14:47 PM org.apache.struts.util.PropertyMessageResources
INFO: Initializing, config='org.apache.struts.util.LocalStrings', returnNull=true
Aug 27, 2007 5:14:47 PM org.apache.struts.util.PropertyMessageResources
INFO: Initializing, config='org.apache.struts.action.ActionResources', returnNull=true
Aug 27, 2007 5:14:47 PM org.apache.struts.util.PropertyMessageResources
INFO: Initializing, config='org.apache.webapp.admin.ApplicationResources', returnNull=true
Aug 27, 2007 5:14:47 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\balancer.xml
Aug 27, 2007 5:14:47 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\jsp-examples.xml
Aug 27, 2007 5:14:47 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\manager.xml
Aug 27, 2007 5:14:47 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\ResRefSample.xml
Aug 27, 2007 5:14:47 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\ROOT.xml
Aug 27, 2007 5:14:47 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\servlets-examples.xml
Aug 27, 2007 5:14:47 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\tomcat-docs.xml
Aug 27, 2007 5:14:48 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Processing Context configuration file URL file:C:\ApacheTomcat5.0\conf\Catalina\localhost\webdav.xml
Aug 27, 2007 5:14:48 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
Aug 27, 2007 5:14:48 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Aug 27, 2007 5:14:48 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/31 config=C:\ApacheTomcat5.0\conf\jk2.properties
Aug 27, 2007 5:14:48 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1927 ms
Initializing Initial Context
Initial Context Lookup
Environment Context Lookup
Unable To Get Initial Context
javax.naming.NamingException: Cannot create resource instance
at org.apache.naming.factory.ResourceEnvFactory.getObjectInstance(ResourceEnvFactory.java:99)
at javax.naming.spi.NamingManager.getObjectInstance(Unknown Source)
at org.apache.naming.NamingContext.lookup(NamingContext.java:791)
at org.apache.naming.NamingContext.lookup(NamingContext.java:151)
at ShowContext.doGet(ShowContext.java:44)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Unknown Source)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4078327#4078327
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4078327
More information about the jboss-user
mailing list