Skip to content

Service Activator referred to as outbound gateway in the documentation [INT-4073] #8014

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

Closed
spring-operator opened this issue Jul 18, 2016 · 3 comments · Fixed by #8619
Closed

Comments

@spring-operator
Copy link
Contributor

Pradeep Kumar L opened INT-4073 and commented

I was going through the definition of service activator. The definition says that it is used to "call a method and wrap the result in the response message". The definition also tells that it is a outbound gateway for invoking the bean method. I am not clear on the second statement. As I understand outbound gateway is to send the request from the application to external application and get the response back into the application. So, if a bean is invoked, it is invoked within the application and hence it should be inbound gateway right. Please let me know where I am wrong.

Reference to the statement above is done in the "enterprise-spring-4.0.a.Release-student-handout.pdf" which I received when I enrolled for the "Enterprise Spring Integration" certification course.


Reference URL: http://stackoverflow.com/questions/38428729/service-activator-acting-as-outbound-gateway-for-invoking-bean-method

Attachments:

@spring-operator
Copy link
Contributor Author

Pradeep Kumar L commented

Added the screenshot for reference.

@spring-operator
Copy link
Contributor Author

Artem Bilan commented

Well, even I don't know what resource are you referring to, but I found the sentence:

outbound gateway for invoking the bean method

as good one and as a short description and premise of service-activator in comparison of any other outboud-gateway.
Actually you should agree with me that even any other outboud-gateway is rely on some bean for target system as, you said.

And that should not be surprise for you that you can have some service-activator which just interact with the external application via beans.

There is another sentence in the Reference Manual:

The Service Activator invokes an operation on some service object to process the request Message, extracting the request Message’s payload and converting if necessary

You should agree with me that "some service" maybe as any "external application".

Also you can find more canonical description in the EIP.

So, in two words service-activator is really some kind of outbound-gateway to invoke some service (internal or external) represented in the application as a regular Spring bean.

Meanwhile an inbound-gateway is exactly an +entry point+ for the application (or messaging subsystem). That is a component where your messaging layer is waiting for incoming messages. for example http:inbound-gateway - a REST service which accepts HTTP requests and convert them into your messaging subsystem representation.

One of particular inbound-gateway case is @MessagingGateway, which proxies a service interface and sends message by the provided method invocation arguments.

Please, read more docs on the matter and many terminology questions will go per se.

Closing as "Works as Designed".

Thank for attention to the project and good luck with certification!

@spring-operator
Copy link
Contributor Author

Gary Russell commented

We should consider using some of the wording from the SO answer.

@artembilan artembilan modified the milestones: General Backlog, Backlog Feb 14, 2023
@artembilan artembilan modified the milestones: Backlog, 6.1.0 May 12, 2023
artembilan added a commit to artembilan/spring-integration that referenced this issue May 12, 2023
garyrussell added a commit that referenced this issue May 15, 2023
* GH-8014: Improve doc for Service Activator

Fixes #8014

* Fix language in Docs

Co-authored-by: Gary Russell <[email protected]>

---------

Co-authored-by: Gary Russell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants