[JBoss Messaging] - Delayed Message Sucking
by chip_schoch
JBossSS 4.2.2.GA, JBM 1.4.0.SP1
Topography:
2 Node linux cluster running JBM. (L1, L2)
2 Unclustered windown JBoss servers with services that consume from linux cluster JBM. (W1, W2)
Using ClusteredConnectionFactory definition on W1, W2 such that both machines are connecting to partial queue on L1. Posting messages to clustered (partial) queues in round-robin fashion such that all messages posted to partial queue L2 are sucked to L1 for consumption by W1, W2.
Each message posted contains a correlation id that the consumer puts in a response message that is posted to an output queue.
I post 10 messages and I receive 5 responses. Using a combination of logging and eclipse debugger I have determined that the 5 missing responses are stuck in a loop on L2 in ClientConsumer.getMessage(). Meanwhile, the 5 response messages are sitting in the output queue on L1. (verified by jmx-console). Posting another message causes all 5 messages to then get sucked from L1 to L2 and the processing completes. Also, after some indeterminate amount of time, without posting additional messages, the messages seem to be eventually sucked over from L1 to L2 and processing completes.
Is there any way to stop these messages from getting hung up on L1. Is there tuning for the MessageSucker.
Thanks,
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4110943#4110943
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4110943
18 years, 4 months
[JBoss Seam] - @DataModel s:link h:commandButton h:dataTable
by djfjboss
I'm very puzzled regarding the behaviour and interaction of the above components. I have used them successfully in some contexts, but am having problems with them in other contexts but can't see any pattern.
My understanding was that s:link is to be preferred over the non-Seam h:commandButton but things do not seem to be quite that simple as this simple example demonstrates:
| <rich:panel>
| <f:facet name="header">Why Doesn't This Work?</f:facet>
| <h:form>
| <h:dataTable value="#{accountService.things}" var="thing">
| <h:column>
| <f:facet name="header">Name</f:facet>
| <h:outputText id="name" size="10" required="true"
| value="#{thing.name}">
| </h:outputText>
| </h:column>
| <h:column>
| <f:facet name="header">Size</f:facet>
| <h:outputText id="size" size="10" required="true"
| value="#{thing.size}">
| </h:outputText>
| </h:column>
| <h:column>
| <s:link value="Select"
| action="#{accountService.selectThing(thing)}" />
| </h:column>
| <h:column>
| <h:commandButton value="Select"
| action="#{accountService.selectThing(thing)}" />
| </h:column>
| <h:column>
| <s:link value="Select (dsm)"
| action="#{accountService.selectThing()}" />
| </h:column>
| <h:column>
| <h:commandButton value="Select (dsm)"
| action="#{accountService.selectThing()}" />
| </h:column>
| </h:dataTable>
|
| <h:commandButton value="Show Choices"
| action="#{accountService.getThings()}" />
| </h:form>
| </rich:panel>
|
and the corresponding service class:
| @DataModel
| private List<Thing> things;
|
| @DataModelSelection("things")
| private Thing selectedThing;
|
| public List<Thing> getThings() {
| ThingRepository repository = new ThingRepository();
| things = repository.getThings();
| return things;
| }
|
| public String selectThing() {
| log.info("### DJF Selected: " + selectedThing);
| return null;
| }
|
| public String selectThing(Thing thing) {
| selectedThing = thing;
| log.info("### DJF Selected: " + selectedThing);
| return null;
| }
|
(yes I know I should use a static for the repository ...)
The repository spits out:
One_1
Two_22
Three_333
Four_4444
Five_55555
Size_666666
I then select the second, third, fourth and fifth lines (in that order) with the following surprising (to me at least) results:
16:54:43,322 INFO [AccountService] ### DJF Selected: null
16:54:44,665 INFO [AccountService] ### DJF Selected: Three_333
16:54:45,931 INFO [AccountService] ### DJF Selected: One_1
16:54:47,353 INFO [AccountService] ### DJF Selected: One_1
One out of four is correct! Why null? Why does it incorrectly select the first element when I have selected a different element?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4110928#4110928
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4110928
18 years, 4 months