Comments (4)
Mark Fisher commented
Moving to M2. We need to think about 2 things (at least):
-
method naming: I'm thinking of something like WebServiceTemplate with 'marshalSendAndReceive' as well as 'sendAndReceive' with request+reply callbacks.
-
handling both provided arg for replyTo Address and another method that would generate a temporary one on the fly. With RabbitMQ, we can generate a Queue on the Channel directly, but for other implementations that functionality might be available on the AmqpAdmin implementation only... but we probably don't want to depend on AmqpAdmin impls from AmqpTemplate impls.
from spring-amqp.
Mark Fisher commented
The convertSendAndReceive(Object) method has been implemented. It creates a temporary Queue and registers a Consumer with it.
The challenge with any method that accepts a replyTo Address instance (or a Message that already has a valid replyTo Address property value) is that we would need to ensure that we control the consumer on that Queue and then rely on CorrelationId mapping to a handoff (e.g. a SynchronousQueue).
from spring-amqp.
Irfan commented
I like the idea of having a method that takes an Address argument.
from spring-amqp.
Dave Syer commented
I agree with Mark. If you are going to set the reply address then you can't expect to get the reply yourself - someone else will receive it (or you can do it yourself manually). That would imply that sendAndReceive() should reject messages with replyTo=<anything> (irrelevant if we are only passing in the payload to convertSendAndReceive()).
from spring-amqp.
Related Issues (20)
- MessageProperties setDelay maximum value problem HOT 3
- ImmediateAcknowledgeAmqpException keeps the message in the queue HOT 10
- TraceId propagation to the new thread local HOT 4
- Wrong ClassLoader is used for message deserialization when devtools are active
- Wrong ClassLoader is used for message deserialization when devtools are active HOT 1
- Kotlin suspend functions return type is incorrect HOT 3
- Kotlin suspend functions return type is incorrect HOT 1
- Channel cache leak when no answers from broker for pending confirms
- Channel cache leak when no answers from broker for pending confirms HOT 1
- Invoke RabbitListenerErrorHandler when the batch of the listener is enabled HOT 2
- Document that micrometer observations aren't started for batch listeners HOT 4
- Unable to access AMQP Channel from RabbitListenerErrorHandler in case of MessageConversionException HOT 1
- Deadlock when reaching channel limit in DirectMessageListenerContainer HOT 5
- Remove deprecated method in the `RabbitListenerErrorHandler`
- DefaultMessagePropertiesConverter#toMessageProperties should handle x-delay in Short HOT 4
- DefaultMessagePropertiesConverter#toMessageProperties should handle x-delay in Short HOT 1
- Memory leak with AsyncRabbitTemplate HOT 5
- Memory leak with AsyncRabbitTemplate HOT 1
- Use JDK `ObjectInputFilter` instead of calling `AllowedListDeserializingMessageConverter::checkAllowedList` in `ConfigurableObjectInputStream::resolveClass` HOT 1
- Fix RabbitMQ x-death header documentation HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from spring-amqp.