Hi Pete, 

NP - I'll try to put up a patch today (Monday EDT). It's going to be a bit 
cumbersome for the current versions of Weld, as we need to use reflection - 
unfortunately the current implementation of jboss-interceptors simply doesn't 
account for this use case, but at least we can get something working. 

Hopefully, future versions of Weld will be able to support this in a much 
smoother fashion. 

----- Original Message -----

From: "Peter Royle" <[email protected]> 
To: "Marius Bogoevici" <[email protected]> 
Cc: "Seam-Dev" <[email protected]>, "Weld-Dev" 
<[email protected]> 
Sent: Monday, May 16, 2011 2:15:49 AM 
Subject: Re: [weld-dev] WELD-862 and Seam Cron 

Hi Marius, 


Thanks, that's hugely helpful. I hadn't realised that my implementation was 
outside the Interceptors spec. I guess in that case the ideal solution is one 
which works within the bounds of the spec (ie: the deep-copy "workaround"). I 
will try that out as soon as you are able to provide the patch/sample for how 
to do so (I had a dig around but couldn't work it out unfortunately). If I 
notice any significant performance implications with that approach I'll report 
back here for further advice. 


Cheers, 


Pete R. 





On 14/05/2011, at 2:31 AM, Marius Bogoevici wrote: 




Pete, 

Creating a separate thread from an @AroundInvoke interceptor and using that to 
proceed() is not actually supported by the Interceptors spec. 

"Around-invoke methods run in the same Java call stack as the associated target 
method." (page 6) - which is clearly not the case here 

Nevertheless, I'll try to improve the handling in jboss-interceptors (which is 
used by weld) to handle this use case properly. The invocationcontext is not 
serializable, but it can be cloned using specific stuff from 
jboss-interceptors, so we can activate that as a workaround for extant versions 
of JBoss/Glasssfish/Weld. I'll send a patch on how to do that on the issue 
itself. 

Hope this helps, 
Marius 

----- Original Message -----

From: "Peter Royle" < [email protected] > 
To: "Weld-Dev" < [email protected] > 
Cc: "Seam-Dev" < [email protected] > 
Sent: Friday, May 13, 2011 8:22:54 AM 
Subject: [weld-dev] WELD-862 and Seam Cron 

Hi, 

I'm aiming to make a release of Seam Cron available within the next two weeks. 
Currently there is an outstanding issue ( 
https://issues.jboss.org/browse/WELD-862 ) which prevents Cron from running 
properly with Weld. I have been able to carry on developing Cron by testing it 
against OpenWebBeans, but obviously if we are to release a Seam module it 
should work against Weld. 

It would be nice if WELD-862 could be fixed as soon a possible so that all 
future versions will work well with Cron. 

But more importantly I also probably need to do something special in Cron so 
that it will work with the version of Weld already deployed in JBoss AS and 
Glassfish, which will contain the bug. The workaround mentioned in the bug 
report is to deep copy the InvocationContext. I attempted to do this by 
serialising and unserialising the InvocationContext but couldn't due to 
UnserializableExceptions. Does anyone have any advice for me about how I might 
be able to work around this bug to support existing versions of Weld? 

Cheers, 

Pete R 
_______________________________________________ 
weld-dev mailing list 
[email protected] 
https://lists.jboss.org/mailman/listinfo/weld-dev 






_______________________________________________
weld-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/weld-dev

Reply via email to