[JBoss JIRA] Updated: (JBMESSAGING-266) Remove Routable
by Ovidiu Feodorov (JIRA)
[ http://jira.jboss.com/jira/browse/JBMESSAGING-266?page=all ]
Ovidiu Feodorov updated JBMESSAGING-266:
----------------------------------------
Fix Version/s: 1.2.1
(was: 1.0.3)
> Remove Routable
> ---------------
>
> Key: JBMESSAGING-266
> URL: http://jira.jboss.com/jira/browse/JBMESSAGING-266
> Project: JBoss Messaging
> Issue Type: Task
> Reporter: Tim Fox
> Assigned To: Tim Fox
> Priority: Critical
> Fix For: 1.2.1
>
> Original Estimate: 4 days
> Remaining Estimate: 4 days
>
> Remove Routable interface.
> Have interface MessageReference which represents things that can be routed.
> Have interface Payload (TBD) which every MessageReference has, this contains data that is not necessarty for routing.
> We would then have a subclass of Payload called JMSPayload which contains all the jms stuff,not needed for routing.
> A jms message would extend Message Reference and contain fields such as delivery count.
> The jms message would contain a Payload interface and delegate for that for other attributes
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Updated: (JBMESSAGING-275) Move Selector processing IN the Channel
by Ovidiu Feodorov (JIRA)
[ http://jira.jboss.com/jira/browse/JBMESSAGING-275?page=all ]
Ovidiu Feodorov updated JBMESSAGING-275:
----------------------------------------
Fix Version/s: 1.2.0.Alpha1
(was: 1.0.2)
> Move Selector processing IN the Channel
> ---------------------------------------
>
> Key: JBMESSAGING-275
> URL: http://jira.jboss.com/jira/browse/JBMESSAGING-275
> Project: JBoss Messaging
> Issue Type: Task
> Components: Messaging Core
> Reporter: Ovidiu Feodorov
> Assigned To: Tim Fox
> Priority: Critical
> Fix For: 1.2.0.Alpha1
>
> Original Estimate: 2 weeks
> Remaining Estimate: 2 weeks
>
> Currently, a consumer "arrests" a message that is being handled to it and doesn't match the Selector. That means it returns an active Delivery for it, but it doesn't forward the message to the client. This is because the consumer needs to be able to receiver further messages coming after the non-matching message, and that may potentially match the selector.
> This is a poor solution that doesn't scale. We may end up with lots of non-matching messages being "arrested" by a consumer, while they could just be simply returned to the channel and forwarded to other potential consumers.
> A possible (right) approach is to move selector processing in the Channel, so the message is not even handled to the non-accepting cosumer. Review this and refactor.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Updated: (JBMESSAGING-140) Move responsibility for management of delivery list from receiver into channel
by Ovidiu Feodorov (JIRA)
[ http://jira.jboss.com/jira/browse/JBMESSAGING-140?page=all ]
Ovidiu Feodorov updated JBMESSAGING-140:
----------------------------------------
Fix Version/s: 1.2.0.Beta1
(was: 1.0.3)
> Move responsibility for management of delivery list from receiver into channel
> ------------------------------------------------------------------------------
>
> Key: JBMESSAGING-140
> URL: http://jira.jboss.com/jira/browse/JBMESSAGING-140
> Project: JBoss Messaging
> Issue Type: Task
> Components: Messaging Core
> Reporter: Tim Fox
> Assigned To: Tim Fox
> Fix For: 1.2.0.Beta1
>
> Original Estimate: 4 days
> Remaining Estimate: 4 days
>
> Currently each receiver has the responsibility for managing it's list of deliveries. This is to avoid a race condition whereby the message can be acked before the call to handle has returned.
> This is a high burden of responsibility for the receiver and results in a lot of unnecessary code in the receiver implementation, plus an extra hashmap lookup
> We should consider whether we can give the responsibiltty to the channel.
> We could still acknowledge and cancel throught the delivery object, by creating one when required and calling cancel/acknowledge on it.
> the instance of delivery won't contain a message reference but just a message id. then inside delivery.cancel()/acknowledge(), it calls
> channel.cancel(this) and the channel is smart enought to lookup the delivery/reference as required.
> This won't require ANY changes to the receiver/channel interface and will allow us to get rid of the delivery list
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months
[JBoss JIRA] Updated: (JBMESSAGING-361) WireFormatTest.testNullResponse(), testDeactivateResponse() fragments invalid
by Ovidiu Feodorov (JIRA)
[ http://jira.jboss.com/jira/browse/JBMESSAGING-361?page=all ]
Ovidiu Feodorov updated JBMESSAGING-361:
----------------------------------------
Fix Version/s: 1.2.0.Alpha1
(was: 1.0.2)
> WireFormatTest.testNullResponse(), testDeactivateResponse() fragments invalid
> -----------------------------------------------------------------------------
>
> Key: JBMESSAGING-361
> URL: http://jira.jboss.com/jira/browse/JBMESSAGING-361
> Project: JBoss Messaging
> Issue Type: Sub-task
> Components: JMS Facade
> Affects Versions: 1.0.0
> Reporter: Ovidiu Feodorov
> Assigned To: Tim Fox
> Fix For: 1.2.0.Alpha1
>
> Original Estimate: 4 hours
> Remaining Estimate: 4 hours
>
> Switching to jboss-serialization 1.0.0.CR7 uncovered what apparently seems to be an invalid test section in WireFormatTest
> public void testNullResponse() throws Exception
> {
> MessagingMarshallable mm = new MessagingMarshallable((byte)77, null);
> InvocationResponse resp = new InvocationResponse(null, mm, false, null);
> ByteArrayOutputStream bos = new ByteArrayOutputStream();
> JBossObjectOutputStream oos = new JBossObjectOutputStream(bos);
>
> wf.write(resp, oos);
> oos.flush();
>
> ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
> DataInputStream dis = new DataInputStream(bis);
>
> // First byte should be version
> assertEquals(77, dis.readByte());
> ...........
> }
> It doesn't make sense to me to write stuff to a JBossObjectOutputStream and then try to read the serialized content using a DataInputStream, and yet this is what this test section does. JBoss Serialization doesn't guarantee this in its public contract.
> Excerpt form a conversation with Clebert:
> flanker707: Does JBossSerialization guarantee that something written with on a JBossObjectOutuptStream can be read with DataInputStream?
> Clebert Suconic: no... I didn't mean to
> flanker707: is this in the public contract?
> Clebert Suconic: If you use the same thing with ObjectInputStream.. you would have the same problem
> testNullResponse(), testDeactivateResponse() sections commented out until clarified.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
18 years, 5 months