My Dev Box is running Kubuntu 7.10, but the Dev Server runs RHEL4. I beleive the specific error is OutOfMemmory (java.lang.OutOfMemoryError: Java heap space)
Here is the full error from the log: 2007-10-29 09:14:10,789 (http-0.0.0.0-8080-Processor4) [ ServiceDispatcher.java:388:DEBUG] [[Sync service failed...- total:0.0,since last(Begin):0.0]] - 'crmsfa / getBannerCampaignSummary' 2007-10-29 09:14:10,791 (http-0.0.0.0-8080-Processor4) [ ServiceDispatcher.java:391:ERROR] ---- exception report ---------------------------------------------------------- Service [getBannerCampaignSummary] threw an unexpected exception/error Exception: org.ofbiz.service.GenericServiceException Message: Service target threw an unexpected exception (Java heap space) ---- stack trace --------------------------------------------------------------- org.ofbiz.service.GenericServiceException: Service target threw an unexpected exception (Java heap space) org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:106) org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:56) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:339) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:214) org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:139) sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) bsh.Reflect.invokeMethod(Unknown Source) bsh.Reflect.invokeObjectMethod(Unknown Source) bsh.Name.invokeMethod(Unknown Source) bsh.BSHMethodInvocation.eval(Unknown Source) bsh.BSHPrimaryExpression.eval(Unknown Source) bsh.BSHPrimaryExpression.eval(Unknown Source) bsh.BSHVariableDeclarator.eval(Unknown Source) bsh.BSHTypedVariableDeclaration.eval(Unknown Source) bsh.Interpreter.evalParsedScript(Unknown Source) bsh.Interpreter.evalParsedScript(Unknown Source) org.ofbiz.base.util.BshUtil.runBshAtLocation(BshUtil.java:164) org.ofbiz.widget.screen.ModelScreenAction$Script.runAction(ModelScreenAction.java:390) org.ofbiz.widget.screen.ModelScreenAction.runSubActions(ModelScreenAction.java:120) org.ofbiz.widget.screen.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:241) org.ofbiz.widget.screen.ModelScreen.renderScreenString(ModelScreen.java:137) org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:108) org.ofbiz.widget.screen.ScreenRenderer.render(ScreenRenderer.java:93) org.ofbiz.widget.screen.ScreenWidgetViewHandler.render(ScreenWidgetViewHandler.java:81) org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:645) org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:429) org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:192) javax.servlet.http.HttpServlet.service(HttpServlet.java:595) javax.servlet.http.HttpServlet.service(HttpServlet.java:688) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:251) org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) java.lang.Thread.run(Thread.java:595) java.lang.OutOfMemoryError: Java heap space java.util.ArrayList.ensureCapacity(ArrayList.java:169) java.util.ArrayList.add(ArrayList.java:351) org.ofbiz.minerva.pool.ObjectPool.fillToMin(ObjectPool.java:961) org.ofbiz.minerva.pool.ObjectPool.initialize(ObjectPool.java:533) org.ofbiz.minerva.pool.jdbc.xa.XAPoolDataSource.initialize(XAPoolDataSource.java:313) org.ofbiz.minerva.pool.jdbc.xa.XAPoolDataSource.getConnection(XAPoolDataSource.java:349) org.ofbiz.entity.transaction.MinervaConnectionFactory.getConnection(MinervaConnectionFactory.java:115) org.ofbiz.geronimo.GeronimoTransactionFactory.getConnection(GeronimoTransactionFactory.java:97) org.ofbiz.entity.transaction.TransactionFactory.getConnection(TransactionFactory.java:98) org.ofbiz.entity.jdbc.ConnectionFactory.getConnection(ConnectionFactory.java:75) com.citydeals.tools.CityDealsServices.getBannerCampaignSummary(CityDealsServices.java:49) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) org.ofbiz.service.engine.StandardJavaEngine.serviceInvoker(StandardJavaEngine.java:94) org.ofbiz.service.engine.StandardJavaEngine.runSync(StandardJavaEngine.java:56) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:339) org.ofbiz.service.ServiceDispatcher.runSync(ServiceDispatcher.java:214) org.ofbiz.service.GenericDispatcher.runSync(GenericDispatcher.java:139) sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) java.lang.reflect.Method.invoke(Method.java:585) bsh.Reflect.invokeMethod(Unknown Source) bsh.Reflect.invokeObjectMethod(Unknown Source) bsh.Name.invokeMethod(Unknown Source) bsh.BSHMethodInvocation.eval(Unknown Source) bsh.BSHPrimaryExpression.eval(Unknown Source) bsh.BSHPrimaryExpression.eval(Unknown Source) bsh.BSHVariableDeclarator.eval(Unknown Source) bsh.BSHTypedVariableDeclaration.eval(Unknown Source) bsh.Interpreter.evalParsedScript(Unknown Source) -------------------------------------------------------------------------------- Jed. On Monday 29 October 2007 11:29:34 am [EMAIL PROTECTED] wrote: > Whats the operating system and whats the "heap space" error? > > Skip > > -----Original Message----- > From: Jed Glazner [mailto:[EMAIL PROTECTED] > Sent: Monday, October 29, 2007 10:03 AM > To: [email protected] > Cc: [EMAIL PROTECTED] > Subject: Help Connecting to 2nd External Database > > > Hello, > > I'm trying to connect to a 2nd external database (not opentaps) where I only > have read only rights. It's an adserver that powers the ads on our site. > We only have read permissions and can't alter the tables at all. our normal > opentaps databse uses postgres, but the adserver uses MySQL. > > What i've tried is to create a new datasource in the > framework/entity/config/entityengine.xml. > I then wrote a service which uses the ConnectionFactory class. The problem > is that I get a Java Heap Space error the first time the service runs. > After that the service will run succesfully without any errors, until the > next time ofbiz get started, then I get the heap space error once, and then > it works fine again. > I don't want to do just strait JDBC becauseI want to take advantage of the > connection pooling within opentaps. > > Any help would be appreciated. The service and datasource are included. > > -- datasource from entityengine.xml -- > > <datasource name="mysql-advertpro" > helper-class="org.ofbiz.entity.datasource.GenericHelperDAO" > field-type-name="mysql" > check-on-start="true" > add-missing-on-start="false" > check-pks-on-start="false" > use-foreign-keys="true" > join-style="ansi-no-parenthesis" > alias-view-columns="false" > drop-fk-use-foreign-key-keyword="true" > table-type="MyISAM" > character-set="latin1" > collate="latin1_general_cs"> > <inline-jdbc > jdbc-driver="com.mysql.jdbc.Driver" > > jdbc-uri="jdbc:mysql://<ipaddress>/advertpro?autoReconnect=true" > jdbc-username="<username>" > jdbc-password="<password>" > isolation-level="ReadCommitted" > pool-minsize="2" > pool-maxsize="20"/> > </datasource> > > -- Custom Service -- > > public static Map getBannerCampaignDetails(DispatchContext ctx, Map context) { > Connection conn = null; > PreparedStatement statement = null; > ResultSet rs = null; > FastList bannerList = FastList.newInstance(); > > String sql = "MySQL String Goes Here"; > > try{ > conn = > ConnectionFactory.getConnection("mysql-advertpro"); > if (conn == null) { > throw new Exception("No advertpro connection > configured"); > } > statement = conn.prepareStatement(sql); > statement.setString(1, (String) context.get("partyId")); > rs = statement.executeQuery(); > while(rs.next()){ > FastMap row = FastMap.newInstance(); > row.put("views", rs.getString("views")); > row.put("name", rs.getString("name")); > row.put("campaignId", > rs.getString("campaignId")); > row.put("maxviews", rs.getString("maxviews")); > row.put("bannerType", > rs.getString("bannerType")); > row.put("width", rs.getString("width")); > row.put("height", rs.getString("height")); > row.put("viewsRemaining", > rs.getString("viewsRemaining")); > row.put("startdate", rs.getString("startdate")); > row.put("stopdate", rs.getString("stopdate")); > bannerList.add(row); > } > statement.close(); > rs.close(); > } catch (Exception e){ > ServiceUtil.returnError("Error getting connection to > database" + e); > } > > finally { > if (statement != null) > try { > statement.close(); > } catch (Exception e) {} > if (rs != null) > try { > rs.close(); > } catch (Exception e) {} > if (conn != null) > try { > conn.close(); > } catch (Exception e) {} > } > > if(bannerList.size() > 0){ > return UtilMisc.toMap("bannerList", bannerList); > } else { > return UtilMisc.toMap("bannerList", > FastList.newInstance()); > } > } > > >
