webservices使用MTOM附件抛出的内存溢出
来源:互联网 发布:安卓手机优化软件 编辑:程序博客网 时间:2024/05/22 14:06
1.大家肯定很奇怪MTOM附件传输机制相对于普通的二进制流来说传输占用的资源要相对于少1/3,但是这个时候会抛出异常
这个时候我们大家应该明确这中内存溢出是什么原因导致的
xception in thread "http-apr-8081-exec-3" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Unknown Source)
at java.lang.AbstractStringBuilder.expandCapacity(Unknown Source)
at java.lang.AbstractStringBuilder.ensureCapacityInternal(Unknown Source)
at java.lang.AbstractStringBuilder.append(Unknown Source)
at java.lang.StringBuilder.append(Unknown Source)
at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleCharacters(StAXStreamConnector.java:327)
at com.sun.xml.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:191)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:370)
at com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:349)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:833)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:101)
at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:861)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:859)
at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:693)
at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)
at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:110)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:237)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:239)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:213)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:131)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:266)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:186)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:646)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:242)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
一般大家遇到内存溢出都会想到是本地的缓存机制和流机制的转换导致的,: Java heap space
像这种对内存溢出一般都是运行环境导致的 只需调整tomcat 或者myeclipse的运行内存即可;像上叙的cxf抛出的只需配置tomcat bin下面的catalina.bat内存即可
JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true "
JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX: NewSize=192m -XX:MaxNewSize=384m"
CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m"
如果是tomcat注册到注册表中启动的话;那么就在注册表中修改
- webservices使用MTOM附件抛出的内存溢出
- 使用Axis2传输附件(AXIS2 MTOM)
- 使用Axis2传输附件(AXIS2 MTOM)
- 使用CXF和MTOM上传附件
- 使用MTOM传输附件+WS-Security
- spring-ws 使用mtom传输附件
- 通过web service的方式上传附件和下载附件,以及内存溢出问题
- 关于Jmeter测试数据库压力的时候抛出内存溢出outofmemory的解决方法
- eclipse下的tomcat启动抛出了内存溢出的错误。
- webservices使用的介绍
- domino服务器,邮件附加附件的时候提示内存溢出或者错误的解决方法
- MTOM的测试
- DDMS的使用、内存溢出的调试
- Myeclipse使用中内存溢出的问题
- Myeclipse使用中内存溢出的问题
- Myeclipse使用中内存溢出的问题
- 使用mina框架内存溢出的问题
- 内存溢出的解决办法
- Ubuntu 14.04 安装 nvidia cudnn
- 1020 月饼
- 使用phonegap进行提示操作
- 秦九韶算法——高速的多项式运算解决方案
- JavaScript Date、Number 格式化总结
- webservices使用MTOM附件抛出的内存溢出
- Java---IO(Scanner和BufferedReader)
- 1021 个位数统计
- mongoDB基础知识2----基本操作(CRUD),索引(常见、全文、地理位置)
- Objective-C: 多态
- 二维数组顺时针输出
- 实现strtok_r()函数
- ActiveMQ与Spring整合:(1)基本使用
- jsp中四个域对象