Hi Jacopo and Jacques

Here the point:

When running under Eclipse with the standard run launcher or the debug launcher, the ofbiz JVM exits as per the code in Start.java on any Error or StartupException since returning false from startStartLoaders() exits with a 99 code:

    public void start() {
        if (!startStartLoaders()) {
            System.exit(99);
        }
        if (config.shutdownAfterLoad) {
            stopServer();
        }
    }

this does not help when debugging the ofbiz code. Thus, returning true from startStartLoaders() in any case will let the JVM alive and will make the développement and debugging as any standard java application.


Here the log when running the Start code and returning false on the NoClassDefFoundError: org/eclipse/core/runtime/CoreException:

2012-04-01 18:55:21,843 (main) [ CatalinaContainer.java:255:INFO ] Started Apache Tomcat/7.0.26 2012-04-01 18:55:21,843 (main) [ BirtContainer.java:50 :INFO ] Start BIRT container 2012-04-01 18:55:21,937 (main) [ BirtContainer.java:70 :INFO ] Startup BIRT platform
java.lang.NoClassDefFoundError: org/eclipse/core/runtime/CoreException
at org.eclipse.birt.core.framework.Platform.createPlatformLauncher(Platform.java:115)
    at org.eclipse.birt.core.framework.Platform.startup(Platform.java:74)
    at org.ofbiz.birt.container.BirtContainer.start(BirtContainer.java:71)
    at org.ofbiz.base.container.ContainerLoader.start(ContainerLoader.java:230)
    at org.ofbiz.base.start.Start.startStartLoaders(Start.java:310)
    at org.ofbiz.base.start.Start.start(Start.java:289)
    at org.ofbiz.base.start.Start.main(Start.java:119)
Caused by: java.lang.ClassNotFoundException: 
org.eclipse.core.runtime.CoreException
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 7 more



Le 01/04/2012 16:01, Jacopo Cappellato a écrit :
Well,

I would like to understand well what we commit; what is the problem we are 
trying to fix? I don't understand what is the meaning of being thrown out... 
shouldn't the debug mode work as the standard mode when an exception is thrown?

Jacopo

On Apr 1, 2012, at 2:09 PM, Jacques Le Roux wrote:

I guess the idea is to not being thrown out when debugging in Eclipse and be 
able to troubleshoot from there. Maybe Francis can explain better?

As it's only in DEBUG mode (explicitly passed to the JVM) I can't see any 
issues with this. Do you fear something or foresee some issues?

Jacques

From: "Jacopo Cappellato"<jacopo.cappell...@hotwaxmedia.com>
It doesn't explain why we should not exit on error.

Jacopo

On Apr 1, 2012, at 1:45 PM, Jacques Le Roux wrote:

Francis explained it here 
https://cwiki.apache.org/confluence/display/OFBIZ/Running+and+Debugging+OFBiz+in+Eclipse#RunningandDebuggingOFBizinEclipse-Debugging(orrunning)OFBizinEclipsewithhotreplacementofclasses
But he should update now because I have just added the converters in 
/ofbiz/framework/entity/src/META-INF/services/org.ofbiz.base.conversion.ConverterLoader
 at http://svn.apache.org/viewvc?rev=1308085&view=rev

Jacques

From: "Jacopo Cappellato"<jacopo.cappell...@hotwaxmedia.com>
maybe I don't understand but why should we want this?

Jacopo

On Apr 1, 2012, at 1:27 PM, jler...@apache.org wrote:

Author: jleroux
Date: Sun Apr  1 11:27:45 2012
New Revision: 1308078

URL: http://svn.apache.org/viewvc?rev=1308078&view=rev
Log:
A patch from Francis ANDRE "Avoid exiting ofbiz when running in debug mode,i.e with 
-DDEBUG=true set on theJVM arguments" 
https://issues.apache.org/jira/browse/OFBIZ-3790

This is a patch for allowing to run OFBiz in debug mode,i.e with -DDEBUG=true 
on the JVM arguments, and avoid to exit from the process when a Error or a 
StartupException occurs.

jleroux: replaced tabs by 4 spaces

Modified:
  ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java

Modified: ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java?rev=1308078&r1=1308077&r2=1308078&view=diff
==============================================================================
--- ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java (original)
+++ ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java Sun Apr  1 
11:27:45 2012
@@ -37,7 +37,7 @@ import java.util.List;
*
*/
public class Start {
-
+ private static final String DEBUG = System.getProperty("DEBUG");
   private static final String SHUTDOWN_COMMAND = "SHUTDOWN";
   private static final String STATUS_COMMAND = "STATUS";

@@ -206,7 +206,7 @@ public class Start {
       System.setProperty("java.class.path", classPath.toString());
       ClassLoader classloader = classPath.getClassLoader();
       Thread.currentThread().setContextClassLoader(classloader);
-        if (System.getProperty("DEBUG") != null) {
+        if (DEBUG != null) {
           System.out.println("Startup Classloader: " + classloader.toString());
           System.out.println("Startup Classpath: " + classPath.toString());
       }
@@ -310,7 +310,12 @@ public class Start {
                   loader.start();
               } catch (StartupException e) {
                   e.printStackTrace();
-                    return false;
+                    if (DEBUG == null)
+                        return false;
+                } catch(Error e) {
+                    e.printStackTrace();
+                    if (DEBUG == null)
+                        return false;
               }
           }
           serverStarted = true;



Reply via email to