[JBoss Tools] New message: "Re: JBoss AS WTP server adapter removes deployment module"
by Denis Golovin
User development,
A new message was posted in the thread "JBoss AS WTP server adapter removes deployment module":
http://community.jboss.org/message/530910#530910
Author : Denis Golovin
Profile : http://community.jboss.org/people/dgolovin
Message:
--------------------------------------------------------------
I have fixed this issue or part of it locally. Problem was in EAR, EJB and WAR modules "publish state". For some reason when EAR gets "full publish event" and changes state to "full publish" from WTP EJB or WAR modules might be in "incremental publish" state. That forces JstPublisher nuke everything in ear-deploy folder and publish all ear content again. Ear content is resources and modules. Resources seems to be published correctly because they have the same publish state as ear but EJB and WAR could be in "Incremental publish" state and that mean only last changes are deployed.
The fix for this is simple:
JstPublisher class should not just blindly call full or incremental publish depending on module publish state but verify if deployment folder exists. If it is then do incremental publish if is not do full publish.
Index: jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java
===================================================================
--- jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java (revision 20695)
+++ jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java (working copy)
@@ -92,7 +92,11 @@
if (publishType == FULL_PUBLISH ) {
status = fullPublish(module, module[module.length-1], monitor);
} else if (publishType == INCREMENTAL_PUBLISH) {
- status = incrementalPublish(module, module[module.length-1], monitor);
+ if(getDeployPath(module, this.server).toFile().isDirectory()) {
+ status = incrementalPublish(module, module[module.length-1], monitor);
+ } else {
+ status = fullPublish(module, module[module.length-1], monitor);
+ }
}
}
}
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/530910#530910
16 years, 1 month
[JBoss Messaging] New message: "Issue with a MessageConsumer attached to the DLQ."
by Jim Johnson
User development,
A new message was posted in the thread "Issue with a MessageConsumer attached to the DLQ.":
http://community.jboss.org/message/530897#530897
Author : Jim Johnson
Profile : http://community.jboss.org/people/jamesjoh
Message:
--------------------------------------------------------------
We recently upgraded JBoss messaging from 1.4.5 to 1.4.6 in our JBoss AS 5.1.0 install. This also required a JGroups upgrade. Anyway, I'm pretty confident that the upgrade works as the entire application functions correctly (except for the described part to follow) and the bug we were looking to have fixed in the 1.4.6 version is no longer hitting us.
The part that doesn't work correctly is as follows:
Our application is heavily dependent on several queues. When something catastrophic happens, stuff naturally makes its way over to the DLQ just fine. To recover from these catastrophic failures, we wrote a utility to browse the DLQ and put messages back onto the appropriate processing queue to be retried once the root cause of the failure has been identified and fixed.
This all worked great under JBoss Message 1.4.5. The recover code is very basic code along the lines of:
//Connection & Session setup.
session.createConsumer(DLQ);
while((message = consumer.receive(MAX_TIMEOUT)) != null) {
//inspect message
//recover message
}
Since switching to 1.4.6 though, that loop only ever returns 1 message, no matter how many messages are on the DLQ. Subsequent calls to the receive hit the timeout and return null. Interestingly, if I switch the while to a "primed" while loop, I get 2 messages. That is:
Message message = consumer.receive(MAX_TIMEOUT);
while(message != null) {
//inspect message
//recover message
message = consumer.receive(MAX_TIMEOUT);
}
That flavor will give me 2 messages. 1 from the prime, 1 from the receive inside the loop, and then the 2nd call to receive will timeout & return null.
Like I said, this code worked fine w/ the previous version of JBoss Messaging. I'm unsure if I need to do some other sort of configuration somewhere or if I'm missing something obvious here. Does anyone have any ideas why I would be seeing this behavior now? Thanks.
--------------------------------------------------------------
To reply to this message visit the message page: http://community.jboss.org/message/530897#530897
16 years, 1 month