[jira] [Created] (IGNITE-2977) Implement generic ability to invoke Java code from non-Java platforms.

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (IGNITE-2977) Implement generic ability to invoke Java code from non-Java platforms.

Anton Vinogradov (Jira)
Vladimir Ozerov created IGNITE-2977:
---------------------------------------

             Summary: Implement generic ability to invoke Java code from non-Java platforms.
                 Key: IGNITE-2977
                 URL: https://issues.apache.org/jira/browse/IGNITE-2977
             Project: Ignite
          Issue Type: Task
          Components: platforms
    Affects Versions: 1.5.0.final
            Reporter: Vladimir Ozerov
            Assignee: Vladimir Ozerov
            Priority: Critical
             Fix For: 1.6


*Problem*
Sometimes user could have mixed cluster when some nodes are running Java and some nodes running in platform mode. Obviously, in such deployments it is impossible to invoke non-Java code on Java nodes.
It appears to be a serious limitation for users. For example, if cache nodes are Java-only, it is impossible to set remote filter from .NET.

Known problematic places:
- Remote filter in continuous query
- Compute API
- Scan Queries
- Cache.invokes
- "load cache" with non-null predicate
- services
- messaging remote listener
- events remote query

*Proposed solution*
1) Define two new types:
{{JavaObject}} - encoded Java object; identified by a fully-qualified class name and a map of properties.
{{JavaObjectFactory}} - factory object for more complex cases when some additional logic on Java side is required. Factory must support injections.
2) Implement corresponding wrappers in .NET/CPP and ensure they are unwrapped correctly.
3) Support individual features from the list above.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)