also note your running crmsfa.
you may want to check with them since that is where the error occured.
https://sourceforge.net/forum/forum.php?forum_id=559063

Jed Glazner sent the following on 10/29/2007 9:38 AM:
> 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());
>>              }
>>      } 
>>
>>
>>
> 
> 
> 
> 
> 

Reply via email to