Skip to content
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

Remoting support for async calls methods with void return types [SPR-4427] #9105

Closed
spring-projects-issues opened this issue Feb 6, 2008 · 5 comments
Assignees
Labels
in: messaging Issues in messaging modules (jms, messaging) status: declined A suggestion or change that we don't feel we should currently apply type: enhancement A general enhancement

Comments

@spring-projects-issues
Copy link
Collaborator

Eric Simmerman opened SPR-4427 and commented

JMS Remoting does not currently support async calls nor does it support invocation of methods with void return types. This patch address both issues.

Async invocation is used automatically where the invoked method has void return type and no declared Exceptions. I simply set the replyTo queue to null and properly handle that through the invocation. Obviously I do not wait for any reply in the control flow.

To properly handle methods with checked exceptions but void return type, I inserted support for returning null from a remoting call.


Affects: 2.5.1

Attachments:

2 votes, 5 watchers

@spring-projects-issues
Copy link
Collaborator Author

Juergen Hoeller commented

This is a good idea but the "void plus no checked exception" policy feels a bit unclean - what if you're waiting for runtime exceptions, or just for a general "call returned so I know it happened" status?

I'd prefer to introduce this aligned with a general @Async annotation that clearly indicates a method as asynchronously invoked in the interface. The semantic contract is much clearer for the user as well as for the invocation infrastructure then, and may apply to other kinds of invocations as well - not just JMS invoker.

Juergen

@spring-projects-issues
Copy link
Collaborator Author

Eric Simmerman commented

Good feedback for the async policy. I'll put together an updated patch.

@spring-projects-issues
Copy link
Collaborator Author

Eric Simmerman commented

JMS Remoting support for asynchronous requests, DeliveryMode configuration, and message TTL using Annotations.

@spring-projects-issues
Copy link
Collaborator Author

Eric Simmerman commented

I modeled the runtime annotation support in my latest patch after the org.springframework.jmx.export.annotation package. Specifically, I extended the current JMSInvoker classes using the naming convention Annotation<Parent Class> and dropped the new child classes in tiger/src.

@spring-projects-issues
Copy link
Collaborator Author

Juergen Hoeller commented

Closing groups of outdated issues. Please reopen if still relevant.

@spring-projects-issues spring-projects-issues added status: declined A suggestion or change that we don't feel we should currently apply in: messaging Issues in messaging modules (jms, messaging) type: enhancement A general enhancement labels Jan 11, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in: messaging Issues in messaging modules (jms, messaging) status: declined A suggestion or change that we don't feel we should currently apply type: enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

2 participants