Hot Deployment is flucky to say the least and drives me nuts.
I have altered the profiles.xml file to not exclude WEB-INF/dev. Sometimes the components get reloaded but sometimes not (POJO components see below). I can see the timestamp of the classes changing in WEB-INF/dev but SEAM does not pick them up sometimes.
Consider the following POJO:
public class SayHello
{
@Logger private Log log;
@In StatusMessages statusMessages;
// @In
// Identity identiy;
public void sayHello()
{
// implement your business logic here
log.info("sayHello.sayHello() action called!");
statusMessages.add("sayHello.sayHello() test!");
}
}
If you change the statusMessage hot deployment works fine. Now remove the comments and inject the identity hot deplyment doesnt work anymore. If you do a full deploy you will find out that you need
@In(required=false)
What is really the issue here, is that even if you fix the error, hot deployment will not start to work until you have done a full deployment.
In IMHO this make Seam hot deployment unusable.
Perhaps I miss something here that breaks my hot deployment. Any advice how to fix this? Do experience the same issue?
Shall I make a JIRA entry?
JBoss-5.1/EAP-5.1, Seam-2.2.1.Final, Eclipse Helios R1, JBossTools nightly builds (26/2/11) but I don't think it is the IDE.