`

关于不能初始化ACTION的错误以及排除的办法

阅读更多
  最近有测试发邮件说测试WEB前端的时候,有错误报出,我登陆服务器一看,错误代码如下

Error Message
Unable to instantiate Action, counterActionBean, defined for 'counterAction' in namespace '/stat'Error creating bean with name 'counterActionBean' defined in ServletContext resource [/WEB-INF/counter-context.xml]: 
Cannot resolve reference to bean 'counterChartService' while setting bean property 'ccs'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'counterChartService' defined in ServletContext resource [/WEB-INF/counter-context.xml]: 
Cannot resolve reference to bean 'counterDAO' while setting bean property 'counterDAO'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'counterDAO' defined in ServletContext resource [/WEB-INF/counter-context.xml]: 
Cannot resolve reference to bean 'counterDS' while setting bean property 'dataSource'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'counterDS' defined in ServletContext resource [/WEB-INF/counter-context.xml]: Error setting property values; nested exception is org.springframework.beans.PropertyBatchUpdateException; nested PropertyAccessExceptions (1) are: PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'initialPoolSize' threw exception; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Error during pool creation in Universal Connection Pool Manager MBean


  里面的错误信息居然是在加载counter-context.xml时候的错误,并点出是 initialPoolSize 的错误,counter-context.xml文件如下
	<bean id="counterDS" class="oracle.ucp.jdbc.PoolDataSourceFactory" factory-method="getPoolDataSource" lazy-init="true">
		<property name="URL" value="${nbg.db.url}" />
		<property name="user" value="${nbg.db.user}" />
		<property name="password" value="${nbg.db.password}" />
		<property name="connectionFactoryClassName" value="oracle.jdbc.pool.OracleDataSource"/>
		<property name="connectionPoolName" value="COUNTER_POOL" />
		<property name="minPoolSize" value="5" />
		<property name="maxPoolSize" value="10" />
		<property name="initialPoolSize" value="5" />
		<property name="inactiveConnectionTimeout" value="120" />
		<property name="validateConnectionOnBorrow" value="true" />
		<property name="maxStatements" value="10" />
	</bean>

	<bean name="counterDAO" class="com.warlock.stat.cdrgui.dao.CounterDAO">
		<property name="dataSource" ref="counterDS" />
	</bean>

	<bean name="counterChartService" class="com.warlock.stat.cdrgui.service.CounterChartService">
		<property name="counterDAO" ref="counterDAO" />
	</bean>
		
	<bean name="counterActionBean" class="com.warlock.stat.cdrgui.web.action.CounterAction" scope="request">
		<property name="ccs" ref="counterChartService" />
	</bean>

我先看了官方的文档说的是initialPoolSize 默认的是0,范围在0到integer.max_size之间,然后用sqlplus连接下oracle数据库,发现也没有问题,最后我将它这个配置注释掉,初始化不分配任何的poolsize 问题得到了解决; 原因是:服务器上的oracle不能分配这么多的连接,从而造成了错误的产生,这个问题应该是环境的问题,并不是spring的问题。


注:后来发现,果然是环境的问题,主要是用root登陆以后,不能使用sqlplus连接数据库,SQLPLUS不在root权限下面,使用env没有找到,于是修改了/etc/profile然后export了SQLPLUS,同时将ojdbc6.jar加入了/opt/nsn/nstat/lib/下面,上面counter-context.xml的initialPoolSize再加入就没有问题了, 教训是惨痛的。
分享到:
评论

相关推荐

    WebSphere7.0_上部署struts2_找不到用于处理_JSP_的扩展处理器

    如果WebSphere不能处理JSP,那么Struts2的动作(Action)就不能正确地将控制流导向JSP页面,导致请求失败。 4. **解决方案**: - **检查WebSphere配置**:确保WebSphere的JSP和Servlet配置正确,没有与应用冲突的...

    Gradle.in.Action

    - **初始化阶段**:识别项目的结构并创建项目对象。 - **配置阶段**:读取并执行构建脚本,确定所有任务的依赖关系。 - **执行阶段**:根据任务依赖关系执行任务。 3. **Gradle DSL** - **Groovy DSL**:原生的...

    JAVAEE所用架包

    如果配置不当,可能导致一个框架不能正确地识别或处理另一个框架的组件。 3. **Action类的管理**:Struts 2通常负责控制Action类,而Spring则可以管理业务层对象。如何将这两者协调起来,确保Action类既能被Struts ...

    SSH搭建时的关键内容,困扰你我的关键点

    - 使用`DelegatingActionProxy`来代理Struts的Action调用,这样可以将Action的创建、初始化等工作交给Spring容器管理。 - 在`struts-config.xml`中为每个Action指定类型,确保类型有效。 - 当Struts Action实例化...

    struts2中json的使用

    1. 确保Action类的属性(如`list`)已经初始化并填充了有效数据。 2. 配置Struts2的Action结果类型为`json`。 3. 使用`includeProperties`或`excludeProperties`参数来指定JSON中包含或排除的属性。 4. 如果对象包含...

    struts2拦截器一些用法

    1. **加载配置**:当应用程序启动时,Struts2会读取配置文件(如`struts.xml`)来初始化拦截器栈(Interceptor Stack)。 2. **创建拦截器实例**:根据配置信息,为每一个拦截器创建对应的实例。 3. **执行流程**: ...

    Remedy manual_AdvancedGuide

    本文档旨在为用户提供关于如何在BMC Software的Action Request System (ARS) 6.3中开发高级应用的具体指导。此版本适用于系统管理员、开发人员以及其他对定制和扩展ARS功能感兴趣的IT专业人士。文档详细介绍了创建和...

    ssh 学习笔记

    而org.hibernate.LazyInitializationException表明在非事务的上下文中尝试对懒加载的实体进行延迟初始化,可能需要调整事务边界或者管理实体的状态。 在上述问题中,通过排除不一致的Hibernate版本依赖,可以解决...

    st-link009-v2.0.21驱动

    1. 初始化和配置ST-Link009硬件,确保与微控制器的通信畅通。 2. 提供编程接口,将编译后的固件代码烧录到STM8或STM32芯片中。 3. 实现调试功能,如设置断点、查看和修改内存、读取和写入寄存器等。 4. 更新固件,当...

    bsr.zip_purpose

    6. **文档内容**:“bsr.docx”可能详细介绍了如何设置和运行边界扫描测试,包括但不限于解释JTAG协议、设置测试向量、解析测试结果以及故障排除策略。此外,文档可能还会涵盖具体的代码示例或案例研究,帮助用户...

    spiflash 1.81并口SPI Flash BIOS编程器,全套官方资料

    2. **BIOS**:BIOS是计算机启动时运行的第一段软件,负责初始化硬件、执行自检(POST)以及加载操作系统。随着技术发展,BIOS已逐渐被UEFI(统一可扩展固件接口)取代,但许多老旧或低功耗设备仍然使用BIOS。 3. **...

    object c语法总结

    - **NSArray**:不可变数组,一旦创建其内容就不能被修改。 - **NSMutableArray**:可变数组,允许在运行时添加、删除或替换元素。 #### NSSet与NSMutableSet - **NSSet**:不可变集合,不允许重复元素。 - **...

    php 友好URL的实现(吐血推荐)

    // 初始化查询数组 $query = []; // 遍历路径段,构建查询数组 for ($i = 0; $i ($segments); $i += 2) { if (!empty($segments[$i]) && !empty($segments[$i + 1])) { $query[$segments[$i]] = $segments[$...

Global site tag (gtag.js) - Google Analytics