Skip to content

Conversation

ngocnhan-tran1996
Copy link
Contributor

Related to: #10083

This commit applies Nullability to support.channel, support.context and support.converter packages

@ngocnhan-tran1996 ngocnhan-tran1996 force-pushed the gh-10083-core-support-packages branch from 39a4b45 to a1437de Compare August 26, 2025 15:33
@artembilan
Copy link
Member

Th fix for AMQP is in.
Please, consider to rebase your branch.
Thanks

Related to: spring-projects#10083

This commit applies Nullability to `support.channel`, `support.context` and `support.converter` packages

Signed-off-by: Tran Ngoc Nhan <[email protected]>
Signed-off-by: Tran Ngoc Nhan <[email protected]>
Signed-off-by: Tran Ngoc Nhan <[email protected]>
@ngocnhan-tran1996 ngocnhan-tran1996 force-pushed the gh-10083-core-support-packages branch from 649983e to a0ce80d Compare August 26, 2025 18:13
Signed-off-by: Tran Ngoc Nhan <[email protected]>
@Nullable
public String getComponentType() {
return null;
return "integration-object-support";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not very good.
I believe we are in a situation where we should remove this method implementation here in the IntegrationObjectSupport.
And ensure that it is implemented properly everywhere else.

Copy link
Member

@artembilan artembilan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for an update!

You made me think a bit on the state of IntegrationObjectSupport.
Some of my comments are not items for action, but some of them are really ask for you to change.


@Override
public String getComponentType() {
return "channel";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

header-channel-registry.

I can argue that this class is not supposed to be an IntegrationObjectSupport.
But that's different story.


@Override
public String getComponentType() {
return "converter";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here: this is not an IntegrationObjectSupport.
But separate story.


@Override
public String getComponentType() {
return "endpoint";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is not correct: every each AbstractEndpoint must provide their proper implementation.


@Override
public String getComponentType() {
return "connection";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

connection-factory ?


@Override
public String getComponentType() {
return "processor";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This one also must not be an IntegrationObjectSupport.

Signed-off-by: Tran Ngoc Nhan <[email protected]>
@ngocnhan-tran1996 ngocnhan-tran1996 force-pushed the gh-10083-core-support-packages branch from 44debbc to 70e49b9 Compare August 27, 2025 12:52

@Override
public String getComponentType() {
return "polling-endpoint";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The SourcePollingChannelAdapter does provide an impl of this method.
So, another one - PollingConsumer - has to do that as well: polling-consumer.


@Override
public String getComponentType() {
return "event-driven";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well, event-driven-consumer to be precise.


@Override
public String getComponentType() {
return "message-producer";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think neither of abstract class should provide an impl.
That is really responsibility of the specific one.
Without an implementation here, we may spot a bug somewhere down the hierarchy, e.g. ReactiveMessageSourceProducer.


@Override
public String getComponentType() {
return "reactive-streams";
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

reactive-streams-consumer ?

Copy link
Member

@artembilan artembilan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK. I'm taking your PR locally for the final review and clean up before merge.
Thank you!

@artembilan
Copy link
Member

Merged as: 17e6a31

@artembilan artembilan closed this Aug 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants