[
https://issues.apache.org/jira/browse/IGNITE-28667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ilya Shishkov updated IGNITE-28667:
-----------------------------------
Description:
Currently, {{IgniteKernal#initMessageFactory}} misses to call {{#initProvider}}
for message factory providers, obtained from extension registry.
It is necessary to initialize {{MessageFactoryProvider}} registered *_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}
was:
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}
> 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 initialize {{MessageFactoryProvider}} registered *_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)