我们得应用又前台系统和后台管理系统两部分(应用lucene创建索引和关键字搜索,前台和后台中创建索引和关键字搜索的代码完全一样),现象描述:
如果创建索引和关键字搜索搜索都在前台系统中运行或者创建索引和搜索功能都在后台系统中运行没有问题,一切正常,但是,(a)当点击后台的创建索引,运行正常,这时,在点击前台的关键词搜索则就报异常 (b)点击前台的搜索(之前已经创建好索引),运行正常,这时,在后台点击创建索引。在(a)(b)这两种情况下都出现异常:
“java.lang.OutOfMemoryError: Java heap space” ,异常信息如下 :
2011-6-1 14:34:00 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet springmvc threw exception
java.lang.OutOfMemoryError: Java heap space
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:167)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:156)
at org.wltea.analyzer.dic.Dictionary.loadMainDict(Dictionary.java:97)
at org.wltea.analyzer.dic.Dictionary.<init>(Dictionary.java:71)
at org.wltea.analyzer.dic.Dictionary.<clinit>(Dictionary.java:41)
at org.wltea.analyzer.cfg.Configuration.loadSegmenter(Configuration.java:110)
at org.wltea.analyzer.IKSegmentation.<init>(IKSegmentation.java:54)
at org.wltea.analyzer.lucene.IKTokenizer.<init>(IKTokenizer.java:44)
at org.wltea.analyzer.lucene.IKAnalyzer.tokenStream(IKAnalyzer.java:45)
at org.apache.lucene.analysis.Analyzer.reusableTokenStream(Analyzer.java:52)
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:126)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at com.fasdq.fangdake.index.IndexNews.buildDocument(IndexNews.java:210)
at com.fasdq.fangdake.index.IndexNews.createIndexIKAnalyzer(IndexNews.java:55)
at com.fasdq.fangdake.controller.LuceneController.createIndexNews(LuceneController.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
这个问题烦了我好几天了,弄不出来了,跪求牛人们帮忙一下!十分感谢了!
如果创建索引和关键字搜索搜索都在前台系统中运行或者创建索引和搜索功能都在后台系统中运行没有问题,一切正常,但是,(a)当点击后台的创建索引,运行正常,这时,在点击前台的关键词搜索则就报异常 (b)点击前台的搜索(之前已经创建好索引),运行正常,这时,在后台点击创建索引。在(a)(b)这两种情况下都出现异常:
“java.lang.OutOfMemoryError: Java heap space” ,异常信息如下 :
2011-6-1 14:34:00 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet springmvc threw exception
java.lang.OutOfMemoryError: Java heap space
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:167)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:180)
at org.wltea.analyzer.dic.DictSegment.fillSegment(DictSegment.java:156)
at org.wltea.analyzer.dic.Dictionary.loadMainDict(Dictionary.java:97)
at org.wltea.analyzer.dic.Dictionary.<init>(Dictionary.java:71)
at org.wltea.analyzer.dic.Dictionary.<clinit>(Dictionary.java:41)
at org.wltea.analyzer.cfg.Configuration.loadSegmenter(Configuration.java:110)
at org.wltea.analyzer.IKSegmentation.<init>(IKSegmentation.java:54)
at org.wltea.analyzer.lucene.IKTokenizer.<init>(IKTokenizer.java:44)
at org.wltea.analyzer.lucene.IKAnalyzer.tokenStream(IKAnalyzer.java:45)
at org.apache.lucene.analysis.Analyzer.reusableTokenStream(Analyzer.java:52)
at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField.java:126)
at org.apache.lucene.index.DocFieldProcessorPerThread.processDocument(DocFieldProcessorPerThread.java:246)
at org.apache.lucene.index.DocumentsWriter.updateDocument(DocumentsWriter.java:773)
at org.apache.lucene.index.DocumentsWriter.addDocument(DocumentsWriter.java:751)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1928)
at org.apache.lucene.index.IndexWriter.addDocument(IndexWriter.java:1902)
at com.fasdq.fangdake.index.IndexNews.buildDocument(IndexNews.java:210)
at com.fasdq.fangdake.index.IndexNews.createIndexIKAnalyzer(IndexNews.java:55)
at com.fasdq.fangdake.controller.LuceneController.createIndexNews(LuceneController.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.invokeNamedMethod(MultiActionController.java:473)
at org.springframework.web.servlet.mvc.multiaction.MultiActionController.handleRequestInternal(MultiActionController.java:410)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)
这个问题烦了我好几天了,弄不出来了,跪求牛人们帮忙一下!十分感谢了!
解决方案 »
- [求助]struts标签无法获取遍历的值
- 有高手了解HttpClient、WebService等技术么?
- Error creating bean with name 'sumBo' defined in ServletContext resource [/WEB-I
- Hibernate 统计结果无法显示,着急,谢谢了!
- hibernate中SQL方言问题
- 如何在提交form表单转到action的同时 向一个servlet发送信息!怎么写?最好具体点 在线等
- dom4j 读取xml 串,数据发生混乱的问题。
- Hibernate初级问题
- 我用java写的C/S结构聊天室,为什么无法发送消息(另一端收不到)
- 请问概念
- JAEE 读写 XML文件路径问题
- No bean named 'entityManagerFactory' is defined 异常怎么解决
at com.fasdq.fangdake.index.IndexNews.buildDocument(IndexNews.java:210)
at com.fasdq.fangdake.index.IndexNews.createIndexIKAnalyzer(IndexNews.java:55)
at com.fasdq.fangdake.controller.LuceneController.createIndexNews(LuceneController.java:126)
之前和之后的内存量
我和你一样,也遇到了java.lang.OutOfMemoryError: Java heap space
我是在做多线程下载时出现的,你的还给出了哪个类哪行代码出现问题,我的没有!
解决方法:在tomcat/conf/catalina.bat里面改运行参数: -Xmx1024M
试下,可能对你有用,呵呵......祝你好运!!!
window->preferences->MyEclipse....->Servers->Tomcat->Tomcat 6.X->JDK->Optional Java VM arguments下面的文本框里加上"-Xms128m -Xmx256m-Dcom.sun.management.jmxremote=true"然后Apply
当这里添加好后,在Launch->Create Launch Configuration->Arguments->VM arguments里就可看到刚添加的!
然后重启tomcat,OK了!具体内存大小视情况而定!那现在就不知道你的能不能按我的方法来了,祝你好运......
你这个问题肯定是java虚拟机的内存不够用才报此错误,一般可以加大虚拟机的内存
这一部分空间是一直需要的。所以只能加大堆内存了。