Tomcat 多数据源冲突 & conf\Catalina\localhost 中进行描述符配置数据源
2011-12-02 14:03
543 查看
RT,当使用正常手段进行多数据源配置时经常会发生如下异常:(截取很长、解决方法在最下方)
项目在tomcat\cof\catalina\locaihost\webProject.xml中进行配置,但有多数据源时产生冲突,可以利用tnsname.ora中描述符进行配置的方法 :
<2011-12-02 18:20:13,397> WARN (SettingsFactory.java:117) [ContainerBackgroundProcessor[StandardEngine[Catalina]]] (org.hibernate.cfg.SettingsFactory) - Could not obtain connection metadata org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Io exception: Connection refused(DESCRIPTION=(TMP=) (VSNNUM=169870336)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource (BasicDataSource.java:1225) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection (BasicDataSource.java:880) at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection (LocalDataSourceConnectionProvider.java:80) at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:84) at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2009) at org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:1292) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory (LocalSessionFactoryBean.java:800) at org.springframework.orm.hibernate3.LocalSessionFactoryBean.afterPropertiesSet (LocalSessionFactoryBean.java:726) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeIn itMethods(AbstractAutowireCapableBeanFactory.java:1059) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBe an(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.DefaultListableBeanFactory.preInstantiateSi ngletons(DefaultListableBeanFactory.java:269) at org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:320) at org.springframework.context.support.ClassPathXmlApplicationContext.<init> (ClassPathXmlApplicationContext.java:87) at org.springframework.context.support.ClassPathXmlApplicationContext.<init> (ClassPathXmlApplicationContext.java:72) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:172) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate (SimpleInstantiationStrategy.java:75) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowire Constructor(AbstractAutowireCapableBeanFactory.java:670) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBe an(AbstractAutowireCapableBeanFactory.java:329) 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.DefaultListableBeanFactory.preInstantiateSi ngletons(DefaultListableBeanFactory.java:275) at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.initializeDefini tion(SingletonBeanFactoryLocator.java:502) at org.springframework.beans.factory.access.SingletonBeanFactoryLocator.useBeanFactory (SingletonBeanFactoryLocator.java:386) at com.hollycrm.framework.DefaultBeanFactory.getFactory (DefaultBeanFactory.java:54) at com.hollycrm.framework.DefaultBeanFactory.getBean (DefaultBeanFactory.java:39) at com.hollycrm.framework.DefaultBeanFactory.getBean (DefaultBeanFactory.java:35) at com.hollycrm.framework.web.servlet.ContextLoaderServlet.init (ContextLoaderServlet.java:42) at javax.servlet.GenericServlet.init(GenericServlet.java:212) at org.apache.catalina.core.StandardWrapper.loadServlet (StandardWrapper.java:1161) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981) at org.apache.catalina.core.StandardContext.loadOnStartup (StandardContext.java:4045) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4351) at org.apache.catalina.core.ContainerBase.addChildInternal (ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDescriptor (HostConfig.java:626) at org.apache.catalina.startup.HostConfig.deployDescriptors (HostConfig.java:553) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488) at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1206) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:293) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent (LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.backgroundProcess (ContainerBase.java:1337) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren (ContainerBase.java:1601) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren (ContainerBase.java:1610) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run (ContainerBase.java:1590) at java.lang.Thread.run(Thread.java:662) Caused by: java.sql.SQLException: Io exception: Connection refused(DESCRIPTION= (TMP=)(VSNNUM=169870336)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4)))) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179) at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:333) at oracle.jdbc.driver.OracleConnection.<init>(OracleConnection.java:404) at oracle.jdbc.driver.OracleDriver.getConnectionInstance (OracleDriver.java:468) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:314) at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection (DriverConnectionFactory.java:38) at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject (PoolableConnectionFactory.java:294) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory (BasicDataSource.java:1247) at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource (BasicDataSource.java:1221) ... 51 more <2011-12-02 18:20:13,421> WARN (Oracle9Dialect.java:37) [ContainerBackgroundProcessor[StandardEngine[Catalina]]] (org.hibernate.dialect.Oracle9Dialect) - The Oracle9Dialect dialect has been deprecated; use either Oracle
项目在tomcat\cof\catalina\locaihost\webProject.xml中进行配置,但有多数据源时产生冲突,可以利用tnsname.ora中描述符进行配置的方法 :
<?xml version="1.0" encoding="UTF-8" ?> <Context path="/*" docBase="/**/**/tomcat-6.0.14/*"> <Resource name="jdbc/unicomapp" auth="Container" type="javax.sql.DataSource" username="****" password="****" driverClassName="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@(DESCRIPTION = (LOAD_BALANCE = OFF) (FAILOVER = ON) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 100.100.9.12)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = 100.100.9.14)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = **UNIC**) (FAILOVER_MODE = (TYPE = SESSION) (METHOD = BASIC) ) ))" maxActive="20" maxIdle="10" /> <ResourceLink name="UserTransaction" global="UserTransaction" type="javax.transaction.UserTransaction" /> <WatchedResource>WEB-INF/web.xml</WatchedResource> </Context>
相关文章推荐
- tomcat 5.5 Cannot create JDBC driver of class '' for connect URL 'null' 配置数据源错误解决办法
- tomcat中的"Tomcat Manager"用户管理配置 web管理
- Tomcat配置数据源(JNDI方式)&JDBC(与Oracle的连接)
- Tomcat 6 配置虚拟主机<域名/二级域名>,并通过Tomcat控制台对多个Host进行管理
- Tomcat&nbsp;5.5.20配置JNDI数据源
- tomcat作服务时出现的" 重叠I/O操作在进行中"
- Linux中的 TOMCAT 7 配置问题访问m…
- Tomcat6配置数据源:Cannot create JDBC driver of class '' for connect URL 'null'解决方案
- Tomcat配置多数据源
- Tomcat中配置数据源.txt
- 在Tomcat配置JNDI数据源的三种方式
- Tomcat 启动 设置JVM参数& 使用指定的配置文件启动
- tomcat中通过JNDI数据源配置使用
- Tomcat6.0数据源配置
- tomcat中配置数据源
- Apache&nbsp;Tomcat环境变量配置
- Tomcat 5.5 JNDI Resource 配置 (tomcat数据源配置)
- 在Tomcat和Eclipse进行远程调试的配置
- 配置Eclipse 3.3 + tomcat 6.0 + lomboz 3.3进行Web开发
- 在配置文件中获取数据源,然后在hibernate中用sql语句进行查询操作