[ 
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)

Reply via email to