关于我遇到的Exception:allocLargeObjectOrArray

本文介绍了解决在调用WebService并接收大型XML数据时出现的allocLargeObjectOrArray异常的方法。通过调整TOMCAT运行的JVM参数-Xms128m-Xmx512m成功解决了问题。

 问题:

Exception:allocLargeObjectOrArray

描述:

此异样是在我们调用一个WebService的时候,有个方法返回的XML是个非常大的数据,我们使用String接收时触发的。

解决:

Round 1:最开始以为是String 类型有大小的限制,所以遇到超级大的字符串时候就会存不下(最终证明是错误的想法);

Round 2:查资料看到出现这个问题有可能是和我们使用的JDK有关系,我们使用JDK是JROCKIT。

根据此思路,我便开始查资料。

发现JVM的调优很重要的呀~~~~~~

最终解决此问题的办法是:(修改TOMCAT/bin/catalina.sh)

JAVA_OPTS="-server -Xms128m -Xmx512m "

适当的调整TOMCAT运行的JVM就解决了,这个简单但头疼的问题。

 

 

转载于:https://www.cnblogs.com/guohengxi/p/3335629.html

### 解决 `UtiiException InvocationTargetException` 错误原因及处理方法 #### 获取并分析根本异常 当遇到 `InvocationTargetException` 时,实际发生的错误可能由内部调用的方法所抛出。为了找到具体的原因,应当获取被包装的真实异常: ```java try { // 调用可能会触发 InvocationTargetException 的代码逻辑 } catch (InvocationTargetException e) { Throwable targetException = e.getTargetException(); System.err.println("Target Exception: " + targetException.getMessage()); } ``` 上述代码展示了如何捕捉 `InvocationTargetException` 并访问其内部的实际异常信息[^1]。 #### 检查依赖注入状态 如果在 Spring 应用程序上下文中工作,则应确认所有必要的 Bean 是否已成功初始化。特别是对于带有 `@Autowired` 注解的成员变量,在使用前需验证它们不是 `null` 值: ```java @Autowired private ApqpPswReviewItemMapper apqpPswReviewItemMapper; if(apqpPswReviewItemMapper == null){ throw new IllegalStateException("@Autowired failed to inject ApqpPswReviewItemMapper"); } Map<String, Object> map = this.apqpPswReviewItemMapper.selectScore(item.getId()); ``` 这段代码片段强调了检查自动装配组件是否为空的重要性,这有助于排除因 DI 失败而导致的问题[^4]。 #### 审视自定义异常类设计 考虑到提到的 `UtiiException`,假设这是一个应用程序特有的异常类型,建议审查此类的设计及其与其他部分交互的方式。确保该异常能够提供足够的调试线索,并且不会掩盖更深层次的问题。 #### 使用日志记录工具辅助诊断 引入强大的日志框架可以帮助更好地理解运行期间发生的情况。配置适当级别的日志输出可以揭示更多细节,从而加快定位问题的速度。 ```xml <!-- logback.xml or similar logging configuration --> <logger name="com.example.yourpackage" level="DEBUG"/> ``` 通过调整日志级别至 DEBUG 或 TRACE,可以获得有关执行流程更为详尽的日志条目,这对于追踪难以重现的问题特别有用。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值