-
Notifications
You must be signed in to change notification settings - Fork 134
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JMS Endpoints should allow dynamic destination name #256
Comments
👍 Thanks for the implementation! |
I updated my test code to use Citrus 2.7.2 and wanted to use this feature. I have noticed that the dynamic destination resolver is only used in Thus, the |
I've digged through the code and realized that it's not easy to support the special header |
As a workaround you can use the following syntax, see Citrus documentation - Dynamic Endpoints: <receive endpoint="jms:Hello.Response.Queue?timeout=5000">
...
</receive> This also works for sync JMS like this: |
I think using dynamic endpoints here is the best solution. As you already mentioned accessing the dynamic endpoint resolver is not easy for receive operations due to design limitations. Will close this issue if no further objections. |
👍 |
Problem
Currently, a JMS endpoint in Citrus (
2.7.1
) is defined with a staticdestination-name
like this:This is problematic if you have tests with lots of different queues which all use the same connection factory. For every queue you need to define a separate endpoint even if only the queue name is different.
Moreover, it is impossible to send messages to a queue whose name is only known at runtime.
Solution
Include a dynamic endpoint header to the JMS endpoint, similar to the HTTP one:
Example
The text was updated successfully, but these errors were encountered: