[seam-dev] java.lang.IllegalStateException: No phase id bound to current thread (make sure you do not have two SeamPhaseListener instances installed))

Pete Muir pmuir at redhat.com
Thu Apr 9 07:43:15 EDT 2009


BTW the point isn't so much that JBT or JBoss AS or Seam have changed,  
but that JBT was relying on side effects/non-contract behaviour of  
Seam / an app server.

And it's important we all use consistent packaging, otherwise the  
testing that we do for Seam releases (and the community does using the  
recommended packaging scheme) goes out the window.

On 9 Apr 2009, at 12:38, Pete Muir wrote:

> Guys,
>
> You should only have one jboss-seam.jar per application. Period.  
> Please stop trying to invent new packaging schemes ;-)
>
> Knowing Max, the next question is "Why?". Yes, the WAR classloader  
> will hide the EAR classloader, however you end up with two problems:
>
> * if you try to load a component on the WAR classloader, then use it  
> in the EJB jar, you will get a CCE (this is a bonus problem to the  
> one you found)
> * classloaders don't just load classes, they also posses the ability  
> to load resources, and also (critically) the ability to load all the  
> resources in every classpath root on the classpath. So, if you add  
> jboss-seam.jar twice, all the resources inside will be on the  
> classpath twice. And, in fact, this behaviour is logical, and  
> correct if you think it through.
>
> So, please fix this in JBT :-)
>
> On 9 Apr 2009, at 11:50, Max Rydahl Andersen wrote:
>
>>
>>>> Dan, as discussed before this is a broken design - duplicates on  
>>>> a classpath is not illegal; only the first one should be listened  
>>>> to AFAIK.
>>>>
>>>> Snjezana, if you remove the seam.jar from web-inf/lib does the  
>>>> compilation still work ? Or is it WTP that is putting it in there  
>>>> for us ?
>>>
>>> The compilation always works.
>>> WTP is not putting this file in there. It is possible that earlier  
>>> versions of JBoss Tools (before releasing JBoss AS 4.2.3) were  
>>> copying the file to WEB-INF/lib.
>> I don't think JBoss tools changed behavior in this aspect. The  
>> question is if JBT EAR projects actually put the seam jar both in  
>> ear and in web-inf/lib in the projects (not the deploy).
>> That should not have any sideeffects (but it does because of the  
>> way seam 2.1.x is doing things), but if that is the case then we  
>> can fix it by not having the web-inf/lib/seam.jar.
>>
>> /max
>>>
>>> Snjeza
>>>> /max
>>>>> -Dan
>>>>>
>>>>> -- 
>>>>> Dan Allen
>>>>> Senior Software Engineer, Red Hat | Author of Seam in Action
>>>>>
>>>>> http://mojavelinux.com
>>>>> http://mojavelinux.com/seaminaction
>>>>> http://in.relation.to/Bloggers/Dan
>>>>>
>>>>> NOTE: While I make a strong effort to keep up with my email on a  
>>>>> daily
>>>>> basis, personal or other work matters can sometimes keep me away
>>>>> from my email. If you contact me, but don't hear back for more  
>>>>> than a week,
>>>>> it is very likely that I am excessively backlogged or the  
>>>>> message was
>>>>> caught in the spam filters.  Please don't hesitate to resend a  
>>>>> message if
>>>>> you feel that it did not reach my attention.
>> _______________________________________________
>> seam-dev mailing list
>> seam-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/seam-dev
>
> --
> Pete Muir
> http://www.seamframework.org
> http://in.relation.to/Bloggers/Pete
>
> _______________________________________________
> seam-dev mailing list
> seam-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/seam-dev

--
Pete Muir
http://www.seamframework.org
http://in.relation.to/Bloggers/Pete




More information about the seam-dev mailing list