[
https://issues.apache.org/jira/browse/IGNITE-28667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ilya Shishkov updated IGNITE-28667:
-----------------------------------
Ignite Flags: (was: Release Notes Required)
> Initialize message factory provider for extensions
> --------------------------------------------------
>
> Key: IGNITE-28667
> URL: https://issues.apache.org/jira/browse/IGNITE-28667
> Project: Ignite
> Issue Type: Task
> Reporter: Ilya Shishkov
> Assignee: Ilya Shishkov
> Priority: Major
> Labels: IEP-132, ise
> Fix For: 2.19
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Currently, {{IgniteKernal#initMessageFactory}} misses to call
> {{#initProvider}} for message factory providers, obtained from extension
> registry.
> It is necessary to register {{MessageFactoryProvider}} *_from a plugin_*.
>
> {code:java}
> private void initMessageFactory() throws IgniteCheckedException {
> >>>>>>>>> MessageFactoryProvider[] msgs =
> ctx.plugins().extensions(MessageFactoryProvider.class); <<<<<<<<<
> List<MessageFactoryProvider> compMsgs = new ArrayList<>();
> ClassLoader resolvedClsLdr = U.resolveClassLoader(ctx.config());
> compMsgs.add(new
> CoreMessagesProvider(ctx.marshallerContext().jdkMarshaller(),
> ctx.marshaller(), resolvedClsLdr));
> for (IgniteComponentType compType : IgniteComponentType.values()) {
> MessageFactoryProvider f = compType.messageFactory();
> if (f != null) {
> >>>>>>>>> initProvider(f, resolvedClsLdr); <<<<<<<<<
> compMsgs.add(f);
> }
> }
> DiscoverySpi discoSpi = ctx.config().getDiscoverySpi();
> if (discoSpi instanceof IgniteDiscoverySpi) {
> MessageFactoryProvider discoMsgs =
> ((IgniteDiscoverySpi)discoSpi).messageFactoryProvider();
> if (discoMsgs != null) {
> >>>>>>>>> initProvider(discoMsgs, resolvedClsLdr); <<<<<<<<<
> compMsgs.add(discoMsgs);
> }
> }
> if (!compMsgs.isEmpty())
> msgs = F.concat(msgs, compMsgs.toArray(new
> MessageFactoryProvider[compMsgs.size()]));
> msgFactory = new IgniteMessageFactoryImpl(msgs);
> }
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)