atom feed11 messages in org.apache.ofbiz.devRe: svn commit: r1308078 - /ofbiz/tru...
FromSent OnAttachments
Jacopo CappellatoApr 1, 2012 4:31 am 
Jacques Le RouxApr 1, 2012 4:45 am 
Jacopo CappellatoApr 1, 2012 5:02 am 
Jacques Le RouxApr 1, 2012 5:09 am 
Jacopo CappellatoApr 1, 2012 7:01 am 
Francis ANDREApr 1, 2012 10:05 am 
Jacopo CappellatoApr 1, 2012 10:12 am 
J. EckardApr 1, 2012 10:34 am 
Jacques Le RouxApr 1, 2012 11:39 am 
Scott GrayApr 3, 2012 1:12 am 
Jacques Le RouxApr 3, 2012 2:54 am 
Subject:Re: svn commit: r1308078 - /ofbiz/trunk/framework/start/src/org/ofbiz/base/start/Start.java
From:Jacopo Cappellato (jaco@hotwaxmedia.com)
Date:Apr 1, 2012 10:12:52 am
List:org.apache.ofbiz.dev

Sorry, I am not an Eclipse user but I know that there are several out there that
are using Eclipse to debug OFbiz: is any of you experiencing the same issue?

Thanks,

Jacopo

On Apr 1, 2012, at 7:06 PM, Francis ANDRE wrote:

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?

From: "Jacopo Cappellato"<jaco@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

From: "Jacopo Cappellato"<jaco@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;