浏览 15219 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2006-01-26
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>JNDIMySqlDataSource</value> </property> </bean> <bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate"> <property name="dataSource"> <ref local="dataSource"></ref> </property> </bean> </beans> 在Action中测试一下: public class TestWeblogicDataSource extends Action { public ActionForward execute(ActionMapping arg0, ActionForm arg1, HttpServletRequest arg2, HttpServletResponse arg3) throws Exception { System.out.println("111111111111111111111"); Resource resource=new ClassPathResource("applicationContext.xml"); System.out.println("222222222222222222222222222"); //ApplicationContext ctx=new FileSystemXmlApplicationContext("bean.xml"); ListableBeanFactory bf=new XmlBeanFactory(resource); System.out.println("33333333333333333333333"); JdbcTemplate jt=(JdbcTemplate)bf.getBean("jdbcTemplate"); System.out.println("444444444444444444444444"); RowCountCallbackHandler rcch=new RowCountCallbackHandler(); jt.query("select username from users",rcch); System.out.println(jt.getMaxRows()); return super.execute(arg0, arg1, arg2, arg3); } } 错误提示如下: 111111111111111111111 222222222222222222222222222 33333333333333333333333 [@APPNAME@] WARN [ExecuteThread: '14' for queue: 'weblogic.kernel.Default'] RequestProcessor.processException(538) | Unhandled Exception thrown: class org.springframework.beans.factory.BeanCreationException <2006-1-26 上午08时47分55秒 CST> <Error> <HTTP> <BEA-101017> <[ServletContext(id=17636875,name=winalex,context-path=/winalex)] Root cause of ServletException. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jdbcTemplate' defined in class path resource [applicationContext.xml]: Can't resolve reference to bean 'dataSource' while setting property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is javax.naming.NameNotFoundException: While trying to lookup 'jndi.MySqlDataSource' didn't find subcontext 'jndi' Resolved org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [applicationContext.xml]: Initialization of bean failed; nested exception is javax.naming.NameNotFoundException: While trying to lookup 'jndi.MySqlDataSource' didn't find subcontext 'jndi' Resolved javax.naming.NameNotFoundException: While trying to lookup 'jndi.MySqlDataSource' didn't find subcontext 'jndi' Resolved ; remaining name 'jndi/MySqlDataSource' at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:858) at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:225) at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:154) at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:188) at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:237) at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:336) at javax.naming.InitialContext.lookup(InitialContext.java:347) at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:123) at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:85) at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:121) at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:146) at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:86) at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:104) at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBean.java:125) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1059) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:363) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:176) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:105) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1013) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:824) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:345) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) at util.TestWeblogicDataSource.execute(TestWeblogicDataSource.java:39) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) > 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-01-26
前面提到的错误我已经解决了:
目前出现以下错误提示 org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot obtain connection: driverURL = jdbc:weblogic:pool:MySqlConnectionPool, props = {enableTwoPhaseCommit=false, jdbcTxDataSource=true, connectionPoolID=MySqlConnectionPool, dataSourceName=MySqlDataSource}. Nested Exception: java.lang.RuntimeException: Failed to Generate Wrapper Class at weblogic.utils.wrapper.WrapperFactory.createWrapper(WrapperFactory.java:154) at weblogic.jdbc.wrapper.JDBCWrapperFactory.getWrapper(JDBCWrapperFactory.java:154) at weblogic.jdbc.pool.Driver.allocateConnection(Driver.java:243) at weblogic.jdbc.pool.Driver.connect(Driver.java:159) at weblogic.jdbc.jts.Driver.getNonTxConnection(Driver.java:444) at weblogic.jdbc.jts.Driver.connect(Driver.java:138) at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305) at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111) at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77) at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:268) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:348) at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:352) at util.TestWeblogicDataSource.execute(TestWeblogicDataSource.java:42) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:971) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:402) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:305) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6350) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3635) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2585) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) 我的lib下已经有mysql的驱动了 , 现在不知道是为什么了????? |
|
返回顶楼 | |
发表时间:2006-01-28
icationContext(205) | Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourc defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean fail nested exception is javax.naming.NameNotFoundException: Unable to resolve 'JNDIMySqlDataSource' olved javax.naming.NameNotFoundException: Unable to resolve 'JNDIMySqlDataSource' Resolved ; remaining e 'JNDIMySqlDataSource' at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:8 at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:230) at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:154) at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:188) at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:237) at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:336) at javax.naming.InitialContext.lookup(InitialContext.java:347) at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:123) at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:85) at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:121) at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:146) at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:86) at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:104) at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBea ava:125) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeIni thods(AbstractAutowireCapableBeanFactory.java:1059) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBea bstractAutowireCapableBeanFactory.java:363) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFact .java:226) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFact .java:147) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSin tons(DefaultListableBeanFactory.java:269) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplica nContext.java:320) at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refre AbstractRefreshableWebApplicationContext.java:134) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoade ava:246) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader. a:184) at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83 at javax.servlet.GenericServlet.init(GenericServlet.java:258) at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:9 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317 at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:869) at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:848) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:787) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.jav 252) at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.ja 3197) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.j :3174) at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:56 at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:869) at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2022) at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2063) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer aveDeployer.java:2592) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.jav 515) at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317) at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java 99) at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java 79) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:7 at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) <2006-1-28 上午10时04分58秒 CST> <Error> <HTTP> <BEA-101216> <Servlet: "context" failed to preloa n startup in Web application: "winalex". javax.servlet.ServletException: Error creating bean with name 'dataSource' defined in ServletCont resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is j x.naming.NameNotFoundException: Unable to resolve 'JNDIMySqlDataSource' Resolved at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:884) at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:848) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:787) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.jav 252) at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.ja 3197) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.j :3174) at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:56 at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:869) at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2022) at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2063) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer aveDeployer.java:2592) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.jav 515) at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317) at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java 99) at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java 79) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:7 at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) > icationContext(205) | Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSourc defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Initialization of bean fail nested exception is javax.naming.NameNotFoundException: Unable to resolve 'JNDIMySqlDataSource' olved javax.naming.NameNotFoundException: Unable to resolve 'JNDIMySqlDataSource' Resolved ; remaining e 'JNDIMySqlDataSource' at weblogic.jndi.internal.BasicNamingNode.newNameNotFoundException(BasicNamingNode.java:8 at weblogic.jndi.internal.BasicNamingNode.lookupHere(BasicNamingNode.java:230) at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:154) at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:188) at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:237) at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:336) at javax.naming.InitialContext.lookup(InitialContext.java:347) at org.springframework.jndi.JndiTemplate$1.doInContext(JndiTemplate.java:123) at org.springframework.jndi.JndiTemplate.execute(JndiTemplate.java:85) at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:121) at org.springframework.jndi.JndiTemplate.lookup(JndiTemplate.java:146) at org.springframework.jndi.JndiLocatorSupport.lookup(JndiLocatorSupport.java:86) at org.springframework.jndi.JndiObjectLocator.lookup(JndiObjectLocator.java:104) at org.springframework.jndi.JndiObjectFactoryBean.afterPropertiesSet(JndiObjectFactoryBea ava:125) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeIni thods(AbstractAutowireCapableBeanFactory.java:1059) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBea bstractAutowireCapableBeanFactory.java:363) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFact .java:226) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFact .java:147) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSin tons(DefaultListableBeanFactory.java:269) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplica nContext.java:320) at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refre AbstractRefreshableWebApplicationContext.java:134) at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoade ava:246) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader. a:184) at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:83 at javax.servlet.GenericServlet.init(GenericServlet.java:258) at weblogic.servlet.internal.ServletStubImpl$ServletInitAction.run(ServletStubImpl.java:9 at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:317 at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:118) at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:869) at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:848) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:787) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.jav 252) at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.ja 3197) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.j :3174) at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:56 at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:869) at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2022) at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2063) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer aveDeployer.java:2592) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.jav 515) at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317) at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java 99) at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java 79) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:7 at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) <2006-1-28 上午10时04分58秒 CST> <Error> <HTTP> <BEA-101216> <Servlet: "context" failed to preloa n startup in Web application: "winalex". javax.servlet.ServletException: Error creating bean with name 'dataSource' defined in ServletCont resource [/WEB-INF/applicationContext.xml]: Initialization of bean failed; nested exception is j x.naming.NameNotFoundException: Unable to resolve 'JNDIMySqlDataSource' Resolved at weblogic.servlet.internal.ServletStubImpl.createServlet(ServletStubImpl.java:884) at weblogic.servlet.internal.ServletStubImpl.createInstances(ServletStubImpl.java:848) at weblogic.servlet.internal.ServletStubImpl.prepareServlet(ServletStubImpl.java:787) at weblogic.servlet.internal.WebAppServletContext.preloadServlet(WebAppServletContext.jav 252) at weblogic.servlet.internal.WebAppServletContext.preloadServlets(WebAppServletContext.ja 3197) at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.j :3174) at weblogic.servlet.internal.WebAppServletContext.setStarted(WebAppServletContext.java:56 at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:869) at weblogic.j2ee.J2EEApplicationContainer.start(J2EEApplicationContainer.java:2022) at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2063) at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer aveDeployer.java:2592) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.jav 515) at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2317) at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java 99) at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2311) at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java 79) at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:7 at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:507) at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:465) at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) > |
|
返回顶楼 | |
发表时间:2006-01-31
你的weblogic配置的连接池好像有问题。你确定在weblogic中配完连接池test可以Test Connection一下。另外好像JNDIMySqlDataSource和weblogic中的ds的name不一致!
|
|
返回顶楼 | |
发表时间:2006-02-05
重新检查,weblogic连接池运行Testing,一切正常,
不知道刚才楼上的朋友,说的jndi那里出现问题了! |
|
返回顶楼 | |
发表时间:2006-02-06
虽然spring本身是可以直接使用jndi来进行获取一些对象,但是在和weblogic集成的时候往往还是容易出现问题(在web应用的时候出现问题的可能性不大,因为container已经做了很多事情了.)但是在ide或者其他的应用环境下(不同的jvm的时候),通常找不到provider_url等属性造成无法找到jndi.
修改配置文件如下: <!-- 通过jndi的方式来调用datasource,即使不一定是在j2ee环境中也可以正常使用默认情况下,如果没有指定,"java:comp/env/"将放在后面jndi名称前面 --> <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean"> <property name="jndiName"> <value>jdbc/myDatasource</value> </property> <!-- 如果你不想使用 'java:comp/env/'前缀的话请设置下面的值为true, 默认值为false --> <property name="resourceRef"> <value>false</value> </property> <property name="jndiEnvironment"> <props> <!-- The value of Context.PROVIDER_URL --> <prop key="java.naming.provider.url">t3://localhost:7001</prop> <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory </prop> </props> </property> </bean> 注意在设置的时候由于不在同一个jvm里面,所以一定要设置provider.url和factory.initial的属性值,否则会出现NoInitialContextException的异常出现. 此外如果和其他的应用服务器集成的话可能不只是要设置上面的两个属性,还要设置相关的其他属性。详细情况参考:javax.naming.Context类的说明文档。http://java.sun.com/j2se/1.4.2/docs/api/javax/naming/Context.html 其中设置的: <property name="jndiEnvironment"> <props> <!-- The value of Context.PROVIDER_URL --> <prop key="java.naming.provider.url">t3://localhost:7001</prop> <prop key="java.naming.factory.initial">weblogic.jndi.WLInitialContextFactory </prop> </props> </property> 实际上就是设置Context初始化的时候设置的Properties属性。 http://java.mblogger.cn/layout/posts/11849.aspx |
|
返回顶楼 | |