You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by Dain Sundstrom <da...@iq80.com> on 2006/12/21 07:25:30 UTC

CMP2 with JPA Update

I have created a bunch of subtasks for https://issues.apache.org/jira/ 
browse/OPENEJB-123 so you can track my progress.

Currently, I have CMP 1.x working and a good portion of CMP 2.x.  For  
2.x, I haven't written the code that generates concrete subclasses of  
the abstract CMP 2.x entity bean class, so you have to code them by  
hand like this:

http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/itests/ 
openejb-itests-beans/src/main/java/org/apache/openejb/test/entity/cmr/ 
onetomany/ABean.java?revision=487456&view=markup

This is the next thing I'm going to work on which means I need to get  
JPA runtime enhancement working (since I'll be generating the classes  
at runtime).

Anyways, other then the class generation junk, the rest of the code  
base is dirt simple, and will get even simper of the next few weeks,  
so if you get some free time give it a read (also the MDB container :))

-dain 

Re: CMP2 with JPA Update

Posted by David Blevins <da...@visi.com>.
On Dec 20, 2006, at 10:25 PM, Dain Sundstrom wrote:

> I have created a bunch of subtasks for https://issues.apache.org/ 
> jira/browse/OPENEJB-123 so you can track my progress.

Nice!

> Currently, I have CMP 1.x working and a good portion of CMP 2.x.   
> For 2.x, I haven't written the code that generates concrete  
> subclasses of the abstract CMP 2.x entity bean class, so you have  
> to code them by hand like this:
>
> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/ 
> entity/cmr/onetomany/ABean.java?revision=487456&view=markup

Excellent.  So are we running these beans in the itests yet?

-David


Re: CMP2 with JPA Update

Posted by David Blevins <da...@visi.com>.
On Dec 27, 2006, at 10:23 AM, Alan D. Cabrera wrote:

>
> On Dec 27, 2006, at 9:58 AM, Dain Sundstrom wrote:
>
>> On Dec 27, 2006, at 9:25 AM, Matt Hogstrom wrote:
>>
>>> I have some data that shows startup (specifically Proxy  
>>> Generation with CGLIB) is taking a huge amount of startup.  I'll  
>>> get with you after the new year.
>>
>> OpenEJB doesn't use CGLib.  FWIU, CGLib has performance problems  
>> in the generation of proxies in the style that Geronimo uses.  In  
>> the next version of CGLib, I believe they removed the proxy  
>> generation style Geronimo uses.
>
> I'd like to start a drifting thread by asking you what are the  
> different styles that CGLib offers and why is the one that Geronimo  
> uses so slow; I'm just curious.  What are the plans for Geronimo  
> once GCLib removes its the proxy generation style that Geronimo uses?

That's a good idea.  Just a note though, that's definitely a  
discussion we don't want to have off the Geronimo dev list/archives.

-David


Re: CMP2 with JPA Update

Posted by "Alan D. Cabrera" <li...@toolazydogs.com>.
On Dec 27, 2006, at 9:58 AM, Dain Sundstrom wrote:

> On Dec 27, 2006, at 9:25 AM, Matt Hogstrom wrote:
>
>> I have some data that shows startup (specifically Proxy Generation  
>> with CGLIB) is taking a huge amount of startup.  I'll get with you  
>> after the new year.
>
> OpenEJB doesn't use CGLib.  FWIU, CGLib has performance problems in  
> the generation of proxies in the style that Geronimo uses.  In the  
> next version of CGLib, I believe they removed the proxy generation  
> style Geronimo uses.

I'd like to start a drifting thread by asking you what are the  
different styles that CGLib offers and why is the one that Geronimo  
uses so slow; I'm just curious.  What are the plans for Geronimo once  
GCLib removes its the proxy generation style that Geronimo uses?


Regards,
Alan



Re: CMP2 with JPA Update

Posted by Dain Sundstrom <da...@iq80.com>.
On Dec 27, 2006, at 9:25 AM, Matt Hogstrom wrote:

> I have some data that shows startup (specifically Proxy Generation  
> with CGLIB) is taking a huge amount of startup.  I'll get with you  
> after the new year.

OpenEJB doesn't use CGLib.  FWIU, CGLib has performance problems in  
the generation of proxies in the style that Geronimo uses.  In the  
next version of CGLib, I believe they removed the proxy generation  
style Geronimo uses.  Anyway, I'm sure once Geronimo stops auto  
proxying every service, no one will be complaining about proxy  
generation.  As a supporting point, no one complains about OpenEJB's  
startup time right now.

-dain


Re: CMP2 with JPA Update

Posted by Matt Hogstrom <ma...@hogstrom.org>.
I have some data that shows startup (specifically Proxy Generation  
with CGLIB) is taking a huge amount of startup.  I'll get with you  
after the new year.

On Dec 26, 2006, at 9:31 PM, Dain Sundstrom wrote:

> In openejb the number of classes generated is very small (a few per  
> EJB deployment) as compared to Geronimo which generates tons.   
> IIRC, generation in geronimo accounts for over 25% of startup  
> time.  I highly doubt that OpenEJB has this problem, but if someone  
> has some benchmarks that show this to be a major performance  
> (startup) issue, I'd be willing to look at a caching system.  Until  
> then, I'll take the simple road.
>
> -dain
>
> On Dec 24, 2006, at 7:11 AM, Matt Hogstrom wrote:
>
>> Not sure how tough this would be but I've heard from some users  
>> that dynamically generating the code at startup is really  
>> expensive for them (lots of EJBs).  They asked if we could save  
>> the generated artifacts so they would incur the cost once.
>>
>> On Dec 21, 2006, at 1:25 AM, Dain Sundstrom wrote:
>>
>>> I have created a bunch of subtasks for https://issues.apache.org/ 
>>> jira/browse/OPENEJB-123 so you can track my progress.
>>>
>>> Currently, I have CMP 1.x working and a good portion of CMP 2.x.   
>>> For 2.x, I haven't written the code that generates concrete  
>>> subclasses of the abstract CMP 2.x entity bean class, so you have  
>>> to code them by hand like this:
>>>
>>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>>> itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/ 
>>> entity/cmr/onetomany/ABean.java?revision=487456&view=markup
>>>
>>> This is the next thing I'm going to work on which means I need to  
>>> get JPA runtime enhancement working (since I'll be generating the  
>>> classes at runtime).
>>>
>>> Anyways, other then the class generation junk, the rest of the  
>>> code base is dirt simple, and will get even simper of the next  
>>> few weeks, so if you get some free time give it a read (also the  
>>> MDB container :))
>>>
>>> -dain
>>
>> Matt Hogstrom
>> matt@hogstrom.org
>>
>
>

Matt Hogstrom
matt@hogstrom.org



Re: CMP2 with JPA Update

Posted by Dain Sundstrom <da...@iq80.com>.
In openejb the number of classes generated is very small (a few per  
EJB deployment) as compared to Geronimo which generates tons.  IIRC,  
generation in geronimo accounts for over 25% of startup time.  I  
highly doubt that OpenEJB has this problem, but if someone has some  
benchmarks that show this to be a major performance (startup) issue,  
I'd be willing to look at a caching system.  Until then, I'll take  
the simple road.

-dain

On Dec 24, 2006, at 7:11 AM, Matt Hogstrom wrote:

> Not sure how tough this would be but I've heard from some users  
> that dynamically generating the code at startup is really expensive  
> for them (lots of EJBs).  They asked if we could save the generated  
> artifacts so they would incur the cost once.
>
> On Dec 21, 2006, at 1:25 AM, Dain Sundstrom wrote:
>
>> I have created a bunch of subtasks for https://issues.apache.org/ 
>> jira/browse/OPENEJB-123 so you can track my progress.
>>
>> Currently, I have CMP 1.x working and a good portion of CMP 2.x.   
>> For 2.x, I haven't written the code that generates concrete  
>> subclasses of the abstract CMP 2.x entity bean class, so you have  
>> to code them by hand like this:
>>
>> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
>> itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/ 
>> entity/cmr/onetomany/ABean.java?revision=487456&view=markup
>>
>> This is the next thing I'm going to work on which means I need to  
>> get JPA runtime enhancement working (since I'll be generating the  
>> classes at runtime).
>>
>> Anyways, other then the class generation junk, the rest of the  
>> code base is dirt simple, and will get even simper of the next few  
>> weeks, so if you get some free time give it a read (also the MDB  
>> container :))
>>
>> -dain
>
> Matt Hogstrom
> matt@hogstrom.org
>


Re: CMP2 with JPA Update

Posted by Matt Hogstrom <ma...@hogstrom.org>.
Not sure how tough this would be but I've heard from some users that  
dynamically generating the code at startup is really expensive for  
them (lots of EJBs).  They asked if we could save the generated  
artifacts so they would incur the cost once.

On Dec 21, 2006, at 1:25 AM, Dain Sundstrom wrote:

> I have created a bunch of subtasks for https://issues.apache.org/ 
> jira/browse/OPENEJB-123 so you can track my progress.
>
> Currently, I have CMP 1.x working and a good portion of CMP 2.x.   
> For 2.x, I haven't written the code that generates concrete  
> subclasses of the abstract CMP 2.x entity bean class, so you have  
> to code them by hand like this:
>
> http://svn.apache.org/viewvc/incubator/openejb/trunk/openejb3/ 
> itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/ 
> entity/cmr/onetomany/ABean.java?revision=487456&view=markup
>
> This is the next thing I'm going to work on which means I need to  
> get JPA runtime enhancement working (since I'll be generating the  
> classes at runtime).
>
> Anyways, other then the class generation junk, the rest of the code  
> base is dirt simple, and will get even simper of the next few  
> weeks, so if you get some free time give it a read (also the MDB  
> container :))
>
> -dain

Matt Hogstrom
matt@hogstrom.org