Re: Debugger Not Working?

2006-12-31 Thread Dain Sundstrom


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?

2006-12-31 Thread Marc Prud'hommeaux

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?

2006-12-31 Thread Patrick Linskey
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

2006-12-31 Thread Dain Sundstrom
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

2006-12-31 Thread Dain Sundstrom
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