切换了服务器中间件后,JNDI出现错误

来源:互联网 发布:卡巴斯基官网软件 编辑:程序博客网 时间:2024/05/17 00:03

执行客户项目时,在jboss应用服务器上开发的项目上传附件一切正常,当部署到测试服务器(weblogic应用服务器)时,出现附件上传失败的情况,出现如下错误:

初始化上下文错误!javax.naming.NameNotFoundException: While trying to look up /jc in /app/webapp/js/81733736.; remaining name '/jc'java.lang.Exception: javax.naming.NameNotFoundException: While trying to look up /jc in /app/webapp/js/81733736.; remaining name '/jc'        at cn.com.chx.database.DataSourceFactory.getJndiDataSource(Unknown Source:89)        at cn.com.chx.database.TransactionDAO._$1(Unknown Source:97)        at cn.com.chx.database.TransactionDAO._$2(Unknown Source:80)        at cn.com.chx.database.TransactionDAO.getNextKey(Unknown Source:508)        at cn.com.chx.bo.DatabaseBo.getNextKey(Unknown Source:104)        at cn.com.chx.component.attach.UploadServlet.saveFileInfotoDb(UploadServlet.java:265)        at cn.com.chx.component.attach.UploadServlet.doPost(UploadServlet.java:206)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)Caused by: javax.naming.NameNotFoundException: While trying to look up /jc in /app/webapp/js/81733736.; remaining name '/jc'        at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)        at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:144)        at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:393)        at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)        at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:130)        at javax.naming.InitialContext.lookup(InitialContext.java:392)        at cn.com.chx.database.DataSourceFactory.getJndiDataSource(Unknown Source:85)        ... 26 morejava.lang.Exception: javax.naming.NameNotFoundException: While trying to look up /jc in /app/webapp/js/81733736.; remaining name '/jc'        at cn.com.chx.database.DataSourceFactory.getJndiDataSource(Unknown Source:89)        at cn.com.chx.database.TransactionDAO._$1(Unknown Source:97)        at cn.com.chx.database.TransactionDAO._$2(Unknown Source:80)        at cn.com.chx.database.TransactionDAO.getNextKey(Unknown Source:508)        at cn.com.chx.bo.DatabaseBo.getNextKey(Unknown Source:104)        at cn.com.chx.component.attach.UploadServlet.saveFileInfotoDb(UploadServlet.java:265)        at cn.com.chx.component.attach.UploadServlet.doPost(UploadServlet.java:206)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)        at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)        at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)        at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)        at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:381)        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592)        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202)        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108)        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432)        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)        at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)Caused by: javax.naming.NameNotFoundException: While trying to look up /jc in /app/webapp/js/81733736.; remaining name '/jc'        at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:1139)        at weblogic.jndi.internal.ApplicationNamingNode.lookup(ApplicationNamingNode.java:144)        at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:393)        at weblogic.jndi.factories.java.ReadOnlyContextWrapper.lookup(ReadOnlyContextWrapper.java:45)        at weblogic.jndi.internal.AbstractURLContext.lookup(AbstractURLContext.java:130)        at javax.naming.InitialContext.lookup(InitialContext.java:392)        at cn.com.chx.database.DataSourceFactory.getJndiDataSource(Unknown Source:85)        ... 26 more

百思不得其解......

后苦苦追踪,竟然是一个很容易忽视的问题。

<iso2gb>true</iso2gb>    <span style="color:#ff0000;"><application-server>weblogic</application-server> <!--竟然是这个服务器类型没有变为weblogic--></span>    <recordperpage>20</recordperpage>    <database><type>oracle</type><jdbcdriver>oracle.jdbc.driver.OracleDriver</jdbcdriver><url>jdbc:oracle:thin:@ip:1521:jc</url><user>user</user><password>pwd</password>    </database>


 

0 0