首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

2011-11-26 
netbean6.1中布署javapetstore-2.0-ea5出错,大家看看是什么问题服务器是 classFish v2运运时的错误日志如

netbean6.1中布署javapetstore-2.0-ea5出错,大家看看是什么问题
服务器是 classFish v2 
运运时的错误日志如下
naming.bind
Null component com.sun.appserv:type=JspMonitor,name=jsp,WebModule=//server/petstore,J2EEApplication=null,J2EEServer=server
WEB0207:在虚拟服务器 server 上启动 Web 上下文 StandardEngine[com.sun.appserv].StandardHost[server].StandardContext[/petstore] 时出现错误
java.lang.RuntimeException: java.lang.RuntimeException: javax.naming.NameNotFoundException
  at com.sun.enterprise.web.WebModuleListener.loadPersistenceUnits(WebModuleListener.java:193)
  at com.sun.enterprise.web.WebModuleListener.lifecycleEvent(WebModuleListener.java:168)
  at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:143)
  at org.apache.catalina.core.StandardContext.start(StandardContext.java:5094)
  at com.sun.enterprise.web.WebModule.start(WebModule.java:326)
  at com.sun.enterprise.web.LifecycleStarter.doRun(LifecycleStarter.java:58)
  at com.sun.appserv.management.util.misc.RunnableBase.runSync(RunnableBase.java:304)
  at com.sun.appserv.management.util.misc.RunnableBase._submit(RunnableBase.java:176)
  at com.sun.appserv.management.util.misc.RunnableBase.submit(RunnableBase.java:192)
  at com.sun.enterprise.web.VirtualServer.startChildren(VirtualServer.java:1672)
  at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1231)
  at org.apache.catalina.core.StandardHost.start(StandardHost.java:955)
  at com.sun.enterprise.web.LifecycleStarter.doRun(LifecycleStarter.java:58)
  at com.sun.appserv.management.util.misc.RunnableBase.runSync(RunnableBase.java:304)
  at com.sun.appserv.management.util.misc.RunnableBase.run(RunnableBase.java:341)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
  at java.util.concurrent.FutureTask.run(FutureTask.java:138)
  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
  at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: javax.naming.NameNotFoundException
  at com.sun.enterprise.server.PersistenceUnitInfoImpl._getJtaDataSource(PersistenceUnitInfoImpl.java:283)
  at com.sun.enterprise.server.PersistenceUnitInfoImpl.<init>(PersistenceUnitInfoImpl.java:116)
  at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:121)
  at com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoaderImpl.java:84)
  at com.sun.enterprise.web.WebModuleListener.loadPersistenceUnits(WebModuleListener.java:190)
  ... 20 more
Caused by: javax.naming.NameNotFoundException
  at com.sun.enterprise.naming.TransientContext.resolveContext(TransientContext.java:268)
  at com.sun.enterprise.naming.TransientContext.lookup(TransientContext.java:191)
  at com.sun.enterprise.naming.SerialContextProviderImpl.lookup(SerialContextProviderImpl.java:74)
  at com.sun.enterprise.naming.LocalSerialContextProviderImpl.lookup(LocalSerialContextProviderImpl.java:111)
  at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:398)
  at javax.naming.InitialContext.lookup(InitialContext.java:392)
  at com.sun.enterprise.connectors.ConnectorResourceAdminServiceImpl.lookup(ConnectorResourceAdminServiceImpl.java:196)
  at com.sun.enterprise.connectors.ConnectorRuntime.lookupPMResource(ConnectorRuntime.java:1099)
  at com.sun.enterprise.server.PersistenceUnitInfoImpl.lookupPMDataSource(PersistenceUnitInfoImpl.java:294)


  at com.sun.enterprise.server.PersistenceUnitInfoImpl._getJtaDataSource(PersistenceUnitInfoImpl.java:281)
  ... 24 more
SMGT0007:已启用自管理规则服务
应用程序服务器启动完成。

[解决办法]
没遇到过,帮顶了!
[解决办法]
运行的时候发现如下错误: javax.naming.NameNotFoundException: Name jdbc is not bound in this Context。原来是Tomcat 5.5.x 的jdbc连接池配置和前面的都有改变,取消了ResourceParameters参数。下面是个例子

 调试前的:

<Context className="org.apache.catalina.core.StandardContext" cachingAllowed="true" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="0" displayName="OBS Client Replacement" docBase="D:\OBS_WORK\eclipse\workspace\obs\src\webapp" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/OBS" privileged="false" reloadable="true" swallowOutput="false" useNaming="false" workDir="work\Standalone\localhost\OBS" wrapperClass="org.apache.catalina.core.StandardWrapper">
<Resource name="jdbc/obs" scope="Shareable" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/obs">
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>password</name>
<value>HO2_CTF</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@TG2SERVER:1521:NAGIRADB</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
<parameter>
<name>username</name>
<value>HO2_CTF</value>
</parameter>
</ResourceParams>
<ResourceLink global="jdbc/obs" name="jdbc/obs" type="javax.sql.DataSource"/>
</Context>

调试后的:

  
  
<Context displayName="OBS Client Replacement" docBase="C:/ade/client_package_win/eclipse/workspace/obs/src/webapp" path="/obs" reloadable="true" workDir="work\Catalina\localhost\obs">


  
<Resource name="jdbc/obs" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/obs">
<parameter>
<name>url</name>
<value>jdbc:oracle:thin:@TG2SERVER:1521:NAGIRADB</value>
</parameter>
<parameter>
<name>password</name>
<value>HO2_CTF</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>4</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>5000</value>
</parameter>
<parameter>
<name>driverClassName</name>


<value>oracle.jdbc.driver.OracleDriver</value>
</parameter>
<parameter>
<name>username</name>
<value>HO2_CTF</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>2</value>
</parameter>
</ResourceParams>
<ResourceLink global="jdbc/obs" name="jdbc/obs" type="javax.sql.DataSource"/>

</Context>

热点排行