[seam-dev] Javassist limitation?

Kabir Khan kabir.khan at jboss.com
Tue May 20 05:04:53 EDT 2008


That is my understanding as well
On 20 May 2008, at 07:38, Max Rydahl Andersen wrote:

> On Mon, 19 May 2008 20:40:40 +0200, Kabir Khan  
> <kabir.khan at jboss.com> wrote:
>
>> Yeah, you either need to do it when the bean class is first loaded
>> (using the -javaagent switch), or as a post compilation step. What  
>> are
>> you referring to wrt AspectJ?
>
> I was just opposing that AspectJ should have some mystical voodoo  
> power compared to
> javassist.
>
> AFAIK the only way for AspectJ or javaassist to provide innerMethod  
> calls to be proxied
> is by controlling the classloader OR disallowing the new operator to  
> be used and only
> hand out instances via factories.
>
> -max
>
>> On 19 May 2008, at 19:34, Max Rydahl Andersen wrote:
>>
>>> On Mon, 19 May 2008 20:31:51 +0200, Kabir Khan
>>> <kabir.khan at jboss.com> wrote:
>>>
>>>> From what Ales said, the problem is intercepting calls internally  
>>>> in
>>>> an EJB without calling via the container.
>>>> If you don't want to use a full AOP solution, then javassist can be
>>>> used to replace calls by using the javassist.expr.ExprEditor class
>>>
>>>
>>> IFF you have control over the classloader...right ?
>>>
>>> /max
>>>
>>>> On 19 May 2008, at 19:15, Ales Justin wrote:
>>>>
>>>>> Probably if you use aspectj and its extensions to the language,  
>>>>> then
>>>>> that needs to be compiled, possibly resulting in wanted behavior.
>>>>>
>>>>> I guess you could use javassist to push interception code into  
>>>>> your
>>>>> components - probably what we're doing with jboss aop and pre- 
>>>>> weaved
>>>>> code.
>>>>>
>>>>> CC-ing Kabir to clear things up. :-)
>>>>>
>>>>> Max Rydahl Andersen wrote:
>>>>>> How can AspectJ do this without having control over the
>>>>>> classloader ?
>>>>>> AFAIK they have the exact same limitations.
>>>>>> /max
>>>>>>>> Seam uses javassist, but we use it to generate proxies not to
>>>>>>>> instrument the
>>>>>>>> code.
>>>>>>> Yep, exactly what I was about to write in response. So  
>>>>>>> essentially
>>>>>>> we
>>>>>>> are getting the same behavior as we would with a JDK proxy.
>>>>>>>
>>>>>>> So the decision for the future is to whether this is just the  
>>>>>>> way
>>>>>>> life
>>>>>>> is going to be or whether we need to find a general approach to
>>>>>>> allow
>>>>>>> more fine-grained interceptor calls. I doubt that JBoss AOP is  
>>>>>>> the
>>>>>>> only library that solves this problem. I have no doubt the  
>>>>>>> Spring
>>>>>>> guys
>>>>>>> will just love to kick us over this issue (given that AspectJ  
>>>>>>> can
>>>>>>> handle it). One response is that simplicity is better.
>>>>>>>
>>>>>>> -Dan
>>>>>>>
>>>>>> _______________________________________________
>>>>>> seam-dev mailing list
>>>>>> seam-dev at lists.jboss.org
>>>>>> https://lists.jboss.org/mailman/listinfo/seam-dev
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>
>
>




More information about the seam-dev mailing list