[
https://issues.apache.org/jira/browse/IGNITE-2977?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Ozerov updated IGNITE-2977:
------------------------------------
Description:
*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 and ensure they are unwrapped
correctly.
3) Support individual features from the list above.
was:
*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.
> 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
> Priority: Critical
> Labels: .net, roadmap
>
> *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 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)