You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by "Gordon Reid (Nine Mile)" <go...@ninemilefinancial.com> on 2017/10/26 06:51:49 UTC

Java to .NET interop

Hi Igniters,

We are running Ignite 2.2.0, we have a .NET client (runs in ignite client mode) and Java servers. We call Ignite Services running on the Java side, from the .NET client. We also access our memory grid entities from the .NET client. Currently it seems we need to package our java server jar, publish it to nuget, and then import this on the .NET side. If we don't have the entity and service classes available on the .NET side's Java classpath then we cannot communicate from the .NET side to the Java side. We are using the binary marshaller and simple name mapper.

Is there any way around this requirement? It is quite a hassle creating this tight binary coupling between our .NET client and Java server.

Thanks,
Gordon.


This email and any attachments are proprietary & confidential and are intended solely for the use of the individuals to whom it is addressed. Any views or opinions expressed are solely for those of the author and do not necessarily reflect those of Nine Mile Financial Pty. Limited. If you have received this email in error, please let us know immediately by reply email and delete from your system. Nine Mile Financial Pty. Limited. ABN: 346 1349 0252

Re: Java to .NET interop

Posted by Pavel Tupitsyn <pt...@apache.org>.
Yes, I think this can be fixed. This is just the matter of IgniteServices
implementation, Java 9 is not related here.
I've filed a ticket https://issues.apache.org/jira/browse/IGNITE-6770

On Fri, Oct 27, 2017 at 5:52 AM, Gordon Reid (Nine Mile) <
gordon.reid@ninemilefinancial.com> wrote:

> Hi Pavel,
>
>
>
> Thanks for the quick reply. I have not explicitly tried to only deploy the
> service classes without the entity classes into the java classpath on the
> .NET side. Our entity and service classes are packaged into the same jar. I
> won’t investigate this further, as its just as much of an inconvenience
> regardless of what is in the jar. But it’s good to know that the .NET
> client only needs a new JAR when a service class changes.
>
>
>
> Do you think this is something that might be fixed when ignite supports
> java 9? It would be great to have no binary dependency on our java server
> build inside our .net client.
>
>
>
> Thanks,
>
> Gordon.
>
>
>
> *From:* Pavel Tupitsyn [mailto:ptupitsyn@apache.org]
> *Sent:* Thursday, October 26, 2017 7:43 PM
> *To:* user@ignite.apache.org
> *Subject:* Re: Java to .NET interop
>
>
>
> Hi Gordon,
>
>
>
> Entity Java classes are not needed in .NET client classpath.
>
> Can you give an example when that does not work for you?
>
>
>
> As for services, unfortunately, there is a limitation on Java side,
>
> Service class should be available on all nodes [1] [2].
>
>
>
> Thanks,
>
> Pavel
>
>
>
> [1] https://apacheignite.readme.io/docs/service-grid
>
> [2] https://issues.apache.org/jira/browse/IGNITE-975
>
>
>
> On Thu, Oct 26, 2017 at 9:51 AM, Gordon Reid (Nine Mile) <gordon.reid@
> ninemilefinancial.com> wrote:
>
> Hi Igniters,
>
>
>
> We are running Ignite 2.2.0, we have a .NET client (runs in ignite client
> mode) and Java servers. We call Ignite Services running on the Java side,
> from the .NET client. We also access our memory grid entities from the .NET
> client. Currently it seems we need to package our java server jar, publish
> it to nuget, and then import this on the .NET side. If we don’t have the
> entity and service classes available on the .NET side’s Java classpath then
> we cannot communicate from the .NET side to the Java side. We are using the
> binary marshaller and simple name mapper.
>
>
>
> Is there any way around this requirement? It is quite a hassle creating
> this tight binary coupling between our .NET client and Java server.
>
>
>
> Thanks,
>
> Gordon.
>
>
>
>
>
> This email and any attachments are proprietary & confidential and are
> intended solely for the use of the individuals to whom it is addressed. Any
> views or opinions expressed are solely for those of the author and do not
> necessarily reflect those of Nine Mile Financial Pty. Limited. If you have
> received this email in error, please let us know immediately by reply email
> and delete from your system. Nine Mile Financial Pty. Limited. ABN: 346
> 1349 0252
>
>
>
>
>
>
>
> This email and any attachments are proprietary & confidential and are
> intended solely for the use of the individuals to whom it is addressed. Any
> views or opinions expressed are solely for those of the author and do not
> necessarily reflect those of Nine Mile Financial Pty. Limited. If you have
> received this email in error, please let us know immediately by reply email
> and delete from your system. Nine Mile Financial Pty. Limited. ABN: 346
> 1349 0252
>

RE: Java to .NET interop

Posted by "Gordon Reid (Nine Mile)" <go...@ninemilefinancial.com>.
Hi Pavel,

Thanks for the quick reply. I have not explicitly tried to only deploy the service classes without the entity classes into the java classpath on the .NET side. Our entity and service classes are packaged into the same jar. I won’t investigate this further, as its just as much of an inconvenience regardless of what is in the jar. But it’s good to know that the .NET client only needs a new JAR when a service class changes.

Do you think this is something that might be fixed when ignite supports java 9? It would be great to have no binary dependency on our java server build inside our .net client.

Thanks,
Gordon.

From: Pavel Tupitsyn [mailto:ptupitsyn@apache.org]
Sent: Thursday, October 26, 2017 7:43 PM
To: user@ignite.apache.org
Subject: Re: Java to .NET interop

Hi Gordon,

Entity Java classes are not needed in .NET client classpath.
Can you give an example when that does not work for you?

As for services, unfortunately, there is a limitation on Java side,
Service class should be available on all nodes [1] [2].

Thanks,
Pavel

[1] https://apacheignite.readme.io/docs/service-grid
[2] https://issues.apache.org/jira/browse/IGNITE-975

On Thu, Oct 26, 2017 at 9:51 AM, Gordon Reid (Nine Mile) <go...@ninemilefinancial.com>> wrote:
Hi Igniters,

We are running Ignite 2.2.0, we have a .NET client (runs in ignite client mode) and Java servers. We call Ignite Services running on the Java side, from the .NET client. We also access our memory grid entities from the .NET client. Currently it seems we need to package our java server jar, publish it to nuget, and then import this on the .NET side. If we don’t have the entity and service classes available on the .NET side’s Java classpath then we cannot communicate from the .NET side to the Java side. We are using the binary marshaller and simple name mapper.

Is there any way around this requirement? It is quite a hassle creating this tight binary coupling between our .NET client and Java server.

Thanks,
Gordon.


This email and any attachments are proprietary & confidential and are intended solely for the use of the individuals to whom it is addressed. Any views or opinions expressed are solely for those of the author and do not necessarily reflect those of Nine Mile Financial Pty. Limited. If you have received this email in error, please let us know immediately by reply email and delete from your system. Nine Mile Financial Pty. Limited. ABN: 346 1349 0252



This email and any attachments are proprietary & confidential and are intended solely for the use of the individuals to whom it is addressed. Any views or opinions expressed are solely for those of the author and do not necessarily reflect those of Nine Mile Financial Pty. Limited. If you have received this email in error, please let us know immediately by reply email and delete from your system. Nine Mile Financial Pty. Limited. ABN: 346 1349 0252

Re: Java to .NET interop

Posted by Pavel Tupitsyn <pt...@apache.org>.
Hi Gordon,

Entity Java classes are not needed in .NET client classpath.
Can you give an example when that does not work for you?

As for services, unfortunately, there is a limitation on Java side,
Service class should be available on all nodes [1] [2].

Thanks,
Pavel

[1] https://apacheignite.readme.io/docs/service-grid
[2] https://issues.apache.org/jira/browse/IGNITE-975

On Thu, Oct 26, 2017 at 9:51 AM, Gordon Reid (Nine Mile) <
gordon.reid@ninemilefinancial.com> wrote:

> Hi Igniters,
>
>
>
> We are running Ignite 2.2.0, we have a .NET client (runs in ignite client
> mode) and Java servers. We call Ignite Services running on the Java side,
> from the .NET client. We also access our memory grid entities from the .NET
> client. Currently it seems we need to package our java server jar, publish
> it to nuget, and then import this on the .NET side. If we don’t have the
> entity and service classes available on the .NET side’s Java classpath then
> we cannot communicate from the .NET side to the Java side. We are using the
> binary marshaller and simple name mapper.
>
>
>
> Is there any way around this requirement? It is quite a hassle creating
> this tight binary coupling between our .NET client and Java server.
>
>
>
> Thanks,
>
> Gordon.
>
>
>
>
>
> This email and any attachments are proprietary & confidential and are
> intended solely for the use of the individuals to whom it is addressed. Any
> views or opinions expressed are solely for those of the author and do not
> necessarily reflect those of Nine Mile Financial Pty. Limited. If you have
> received this email in error, please let us know immediately by reply email
> and delete from your system. Nine Mile Financial Pty. Limited. ABN: 346
> 1349 0252
>