You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladimir Ozerov (JIRA)" <ji...@apache.org> on 2017/05/10 08:23:04 UTC

[jira] [Updated] (IGNITE-1900) Ignite JMX problem with Spring Boot

     [ https://issues.apache.org/jira/browse/IGNITE-1900?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladimir Ozerov updated IGNITE-1900:
------------------------------------
    Component/s:     (was: 1.4)
                 general

> Ignite JMX problem with Spring Boot
> -----------------------------------
>
>                 Key: IGNITE-1900
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1900
>             Project: Ignite
>          Issue Type: Bug
>          Components: general
>    Affects Versions: ignite-1.4
>            Reporter: wmz7year
>            Assignee: wmz7year
>              Labels: patch
>             Fix For: 1.5.0.final
>
>
> I use Ignite with Spring Boot.
> When start application,Spring Boot will register JMX info.
> In IgniteMXBean interface,There is two method getUserAttributesFormatted and getLifecycleBeansFormatted return Collection<String>
> But In JMX DefaultMXBeanMappingFactory.makeParameterizedTypeMapping method will get method return type.
> {noformat}
>  final Type rawType = objType.getRawType();
>         if (rawType instanceof Class<?>) {
>             Class<?> c = (Class<?>) rawType;
>             if (c == List.class || c == Set.class || c == SortedSet.class) {
>                 Type[] actuals = objType.getActualTypeArguments();
>                 assert(actuals.length == 1);
>                 if (c == SortedSet.class)
>                     mustBeComparable(c, actuals[0]);
>                 return makeArrayOrCollectionMapping(objType, actuals[0], factory);
>             } else {
>                 boolean sortedMap = (c == SortedMap.class);
>                 if (c == Map.class || sortedMap) {
>                     Type[] actuals = objType.getActualTypeArguments();
>                     assert(actuals.length == 2);
>                     if (sortedMap)
>                         mustBeComparable(c, actuals[0]);
>                     return makeTabularMapping(objType, sortedMap,
>                             actuals[0], actuals[1], factory);
>                 }
>             }
>         }
> {noformat}
> The Collection<String> will not match any type for this although IgniteKernal return type is Set or List.
> I think IgniteMXBean interface should change Collection to Set and List



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)