-
1. Re: Deployment problems
maxandersen May 12, 2010 1:26 PM (in response to johannesk)Web projects most definitely should just be updated incrementally. Would need to know more.
ESB projects similar, but could be a bug (since its newer code base than the good old Web deploy)
EJB projects - are the files actually not updated in the deployment ? I'll assume they are and the problem you are seeing is that EJB's aren't dynamically reloadable. They require a restart of the module. Maybe the same issue you see for the web projects ?
jbpm projects have their down deployment approach at the moment. Are you using the jbpm deployment tab or copying a .par file or how ?
-
2. Re: Deployment problems
johannesk May 18, 2010 5:22 AM (in response to maxandersen)Thanks for your answer. I've further examined the problems:
Web projects most definitely should just be updated incrementally. Would need to know more.
I've created a servlet which I access through http://localhost:8080/test-client/TestClient1. When I update it (e.g. change an output String) and do an incremental deployment, the class at server\default\deploy\test-client.war\WEB-INF\classes is updated (I can see the modified String when I open the class in an editor), but the server still gives me the old version, even if I use a browser, who never opened this site (to avoid cache problems).
If I do a full publish, everything works fine and I can see the new ouput.
ESB projects similar, but could be a bug (since its newer code base than the good old Web deploy)
ESB projects seem to work now, for whatever reason.
EJB projects - are the files actually not updated in the deployment ? I'll assume they are and the problem you are seeing is that EJB's aren't dynamically reloadable. They require a restart of the module. Maybe the same issue you see for the web projects ?
Yes, just like with the web project, the files are updated in the deployment folder but the EJB still sends the same output as before the update.
There seems to be no way to restart the ejb-module through eclipse, the corresponding entries (Start, Stop, Restart) in the server adapter's context menu are greyed out. Should it really work like <right click> - <remove> - <right click> - <add and remove> - <add the module> - <OK> every time I make an update to an EJB?
jbpm projects have their down deployment approach at the moment. Are you using the jbpm deployment tab or copying a .par file or how ?
I right click the processdefinition XML file, and chose "Make Deployable". In Eclipse's server view, I can than see an entry "/test-jbpm/testProcess/processdefinition.xml" under "JBoss 5.1 Runtime Server", but there's no entry in the jbpm-console.
The same goes for using the deploment tab of the process with the settings "localhost, 8080, /jbpm-console, admin, admin". It gives me "The server connection was successfully tested" and "The process archive deployed successfully", but still no console entry.
If I create a .par-file using the deploy tab ("Save without deploying") and deploy it manually through the jbpm-console, everything works fine.
-
3. Re: Deployment problems
rob.stryker May 18, 2010 5:40 AM (in response to johannesk)1 of 1 people found this helpfulFrom my experiences testing, full publish only ever fails if your deployment (such as an EJB) has no xml descriptor defined. The JBoss runtime seems to have difficulty noticing changes if there are no xml descriptors in the deployment.
I recognize this as a significant downfall, but I've been unable to find any way to push to the runtime that these changes have occurred. THe workaround that I've found is to include the non-required xml descriptor in your project so that the App server can actually recognize the change.
-
4. Re: Deployment problems
johannesk May 18, 2010 5:51 AM (in response to rob.stryker)From my experiences testing, full publish only ever fails if your deployment (such as an EJB) has no xml descriptor defined. The JBoss runtime seems to have difficulty noticing changes if there are no xml descriptors in the deployment.
Thanks a lot. With a deployment descriptor stub, full publish of the EJB works. Incremental publish still doesn't work, but at least I don't have to remove it every time.
-
5. Re: Deployment problems
rob.stryker May 18, 2010 6:00 AM (in response to johannesk)Currently the server is unable to load changed .class files in most projects. I believe only Seam projects can quickly reload seam projects. This is not a tooling issue primarily but is more a runtime issue.
I've considered adding a workspace setting to allow (or disallow) touching of xml files when a .class file is changed, but so far I haven't moved on this issue because demand really isn't that huge for it.
I probably should just make 'restart' go through and touch all descriptors.
-
6. Re: Deployment problems
maxandersen May 19, 2010 8:43 AM (in response to rob.stryker)We know which type of descriptor to touch per deployment type so no real need to scan for *all* to make it happen.
There is a "Touch" button in the toolbar that will do this.