Re: Debugger Not Working?
On Dec 31, 2006, at 12:04 AM, Marc Prud'hommeaux wrote: I've never experienced this problem, but as a guess, are you running with dynamic enhancement (using the -javaagent flag)? If so, what happens if you enhance manually, and then run without the agent flag? Currently, I am, but I can recreate the problem without it, it just takes a lot longer. Actually, it seems be related to the amount of code executed. If I run the Agent and it enhances, that is a lot of code executed and the problem happens quickly. If I run derby instead of HSQLDB, it happens quickly. It is very strange. Also, you could always try running javastack on a process (found using jps) from a console and see if you get a stack trace from that. I'll try that. -dain
Re: Debugger Not Working?
Dain- Do you have the data cache enabled? If so, can you disable it and see if it changes anything? I'm still guessing that this might be due to dynamic class generation, which the data cache sometimes does. If you enable verbose logging (e.g., by setting the property openjpa.Log: DefaultLevel=TRACE), what are the last few log messages you see before the hang? On Dec 31, 2006, at 12:28 PM, Dain Sundstrom wrote: On Dec 31, 2006, at 12:04 AM, Marc Prud'hommeaux wrote: I've never experienced this problem, but as a guess, are you running with dynamic enhancement (using the -javaagent flag)? If so, what happens if you enhance manually, and then run without the agent flag? Currently, I am, but I can recreate the problem without it, it just takes a lot longer. Actually, it seems be related to the amount of code executed. If I run the Agent and it enhances, that is a lot of code executed and the problem happens quickly. If I run derby instead of HSQLDB, it happens quickly. It is very strange. Also, you could always try running javastack on a process (found using jps) from a console and see if you get a stack trace from that. I'll try that. -dain
RE: Debugger Not Working?
Note that the datacache is enabled by default. To turn off, set openjpa.DataCache to false. -Patrick -- Patrick Linskey BEA Systems, Inc. ___ Notice: This email message, together with any attachments, may contain information of BEA Systems, Inc., its subsidiaries and affiliated entities, that may be confidential, proprietary, copyrighted and/or legally privileged, and is intended solely for the use of the individual or entity named in this message. If you are not the intended recipient, and have received this message in error, please immediately return this by email and then delete it. -Original Message- From: Marc Prud'hommeaux [mailto:[EMAIL PROTECTED] On Behalf Of Marc Prud'hommeaux Sent: Sunday, December 31, 2006 9:46 AM To: open-jpa-dev@incubator.apache.org Subject: Re: Debugger Not Working? Dain- Do you have the data cache enabled? If so, can you disable it and see if it changes anything? I'm still guessing that this might be due to dynamic class generation, which the data cache sometimes does. If you enable verbose logging (e.g., by setting the property openjpa.Log: DefaultLevel=TRACE), what are the last few log messages you see before the hang? On Dec 31, 2006, at 12:28 PM, Dain Sundstrom wrote: On Dec 31, 2006, at 12:04 AM, Marc Prud'hommeaux wrote: I've never experienced this problem, but as a guess, are you running with dynamic enhancement (using the -javaagent flag)? If so, what happens if you enhance manually, and then run without the agent flag? Currently, I am, but I can recreate the problem without it, it just takes a lot longer. Actually, it seems be related to the amount of code executed. If I run the Agent and it enhances, that is a lot of code executed and the problem happens quickly. If I run derby instead of HSQLDB, it happens quickly. It is very strange. Also, you could always try running javastack on a process (found using jps) from a console and see if you get a stack trace from that. I'll try that. -dain
Generation of entity classes
I working on an implementation of the EJB cmp specification which uses JPA under the covers to implement the persistence. I have the basics working with hand written subclasses of the abstract cmp2 beans. I just wrote a code generator to replace my hand coded subclasses using ASM (which rocks), and I am having problems getting OpenJPA to enhance my generated class. It appears that at the moment I construct the EMF all entity classes must be available via the temp class loader. If they are not, OpenJPA will not add an entry into the MetaData repository. Later when I generate my class and load it, the OpenJPA transformer looks for the MetaData in the repository, doesn't find it, and completely skips enhancement (PCEnhancer line 322). It is possible to have the enhancer fault load the metadata and continue with enhancement? In the mean time, I'm going to hack OpenEJB to kick off generation very early in deployment, but it would be much more elegant to wait until the EJB is deployed to generate the classes and this happens after JPA is initialized. Thanks, -dain
Re: Generation of entity classes
Actually, never mind. Due to the interconnectedness of persistent classes (i.e., relationships), I need to generate all the classes at once and add them all to the class loader at the same time. This means my elegant solution is just broken :) -dain On Dec 31, 2006, at 3:12 PM, Dain Sundstrom wrote: I working on an implementation of the EJB cmp specification which uses JPA under the covers to implement the persistence. I have the basics working with hand written subclasses of the abstract cmp2 beans. I just wrote a code generator to replace my hand coded subclasses using ASM (which rocks), and I am having problems getting OpenJPA to enhance my generated class. It appears that at the moment I construct the EMF all entity classes must be available via the temp class loader. If they are not, OpenJPA will not add an entry into the MetaData repository. Later when I generate my class and load it, the OpenJPA transformer looks for the MetaData in the repository, doesn't find it, and completely skips enhancement (PCEnhancer line 322). It is possible to have the enhancer fault load the metadata and continue with enhancement? In the mean time, I'm going to hack OpenEJB to kick off generation very early in deployment, but it would be much more elegant to wait until the EJB is deployed to generate the classes and this happens after JPA is initialized. Thanks, -dain