论坛首页 Java企业应用论坛

Spring连接weblogic-DataSource错误

浏览 15219 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-01-26  
<?xml version="1.0" encoding="UTF-8"?>
<!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)
>
   发表时间: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的驱动了 ,    现在不知道是为什么了?????
0 请登录后投票
   发表时间: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)
>
0 请登录后投票
   发表时间:2006-01-31  
 你的weblogic配置的连接池好像有问题。你确定在weblogic中配完连接池test可以Test Connection一下。另外好像JNDIMySqlDataSource和weblogic中的ds的name不一致!
0 请登录后投票
   发表时间:2006-02-05  
重新检查,weblogic连接池运行Testing,一切正常,
不知道刚才楼上的朋友,说的jndi那里出现问题了!
0 请登录后投票
   发表时间: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
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics