You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ignite.apache.org by Sudhir Patil <pa...@gmail.com> on 2020/04/18 01:59:30 UTC

Ignite.net caching a item to specific machine

Hi All,

I am using ignite.net. Question is does it support caching a cache item on
specific machine?
E.g. I want to store Employee records on machine A and Employer records on
machine B.

Regards
Sudhir


-- 
Thanks & Regards,
Sudhir Patil,
+91 9881095647.

Re: Ignite.net caching a item to specific machine

Posted by Sudhir Patil <pa...@gmail.com>.
Thanks Pavel.

I will look at code and get back on it...

Regards
Sudhir

On Tuesday, April 21, 2020, Pavel Tupitsyn <pt...@apache.org> wrote:

> I've prepared the example:
> https://github.com/ptupitsyn/ignite-net-examples/tree/
> master/CacheNodeFilter
>
> We don't actually need to write any Java, because Ignite ships with
> predefined AttributeNodeFilter.
>
> In the example there are two caches: "user" and "company", and two server
> nodes.
> Every cache stores data only on one of the server nodes, which is
> demonstrated with Affinity API.
>
>
> On Mon, Apr 20, 2020 at 8:43 AM Sudhir Patil <pa...@gmail.com>
> wrote:
>
>> Hi Pavel,
>>
>> Thanks. Yes, maybe sample around this would be helpful.
>> Requirement side what we wanted is store specific cache items on machine
>> so that they served in better ways. I am not sure will it be helpful or
>> not...
>>
>> Regards
>> Sudhir
>>
>> On Saturday, April 18, 2020, Pavel Tupitsyn <pt...@apache.org> wrote:
>>
>>> Hi,
>>>
>>> There is a CacheConfiguration.NodeFilter property.
>>> The filter defines which nodes should store given cache data.
>>>
>>> Unfortunately, this property is not available in Ignite.NET.
>>> You can define a filter in Java, then use it in your Ignite.NET
>>> application:
>>> * Write a filter in Java and compile
>>> * Prepare Spring XML config file with  CacheConfiguration.NodeFilter set
>>> to your Java filter
>>> * Add compiled class/jar path to IgniteConfiguration.JvmClasspath in
>>> .NET
>>> * Set IgniteConfiguration.SpringConfigUrl in .NET
>>>
>>> Let me know if this works for you. I can prepare a working example as
>>> well.
>>>
>>> PS It may not be a good idea to separate data like that. What is the use
>>> case here?
>>>
>>> On Sat, Apr 18, 2020 at 4:59 AM Sudhir Patil <pa...@gmail.com>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> I am using ignite.net. Question is does it support caching a cache
>>>> item on specific machine?
>>>> E.g. I want to store Employee records on machine A and Employer records
>>>> on machine B.
>>>>
>>>> Regards
>>>> Sudhir
>>>>
>>>>
>>>> --
>>>> Thanks & Regards,
>>>> Sudhir Patil,
>>>> +91 9881095647.
>>>>
>>>
>>
>> --
>> Thanks & Regards,
>> Sudhir Patil,
>> +91 9881095647.
>>
>

-- 
Thanks & Regards,
Sudhir Patil,
+91 9881095647.

Re: Ignite.net caching a item to specific machine

Posted by Pavel Tupitsyn <pt...@apache.org>.
I've prepared the example:
https://github.com/ptupitsyn/ignite-net-examples/tree/master/CacheNodeFilter

We don't actually need to write any Java, because Ignite ships with
predefined AttributeNodeFilter.

In the example there are two caches: "user" and "company", and two server
nodes.
Every cache stores data only on one of the server nodes, which is
demonstrated with Affinity API.


On Mon, Apr 20, 2020 at 8:43 AM Sudhir Patil <pa...@gmail.com>
wrote:

> Hi Pavel,
>
> Thanks. Yes, maybe sample around this would be helpful.
> Requirement side what we wanted is store specific cache items on machine
> so that they served in better ways. I am not sure will it be helpful or
> not...
>
> Regards
> Sudhir
>
> On Saturday, April 18, 2020, Pavel Tupitsyn <pt...@apache.org> wrote:
>
>> Hi,
>>
>> There is a CacheConfiguration.NodeFilter property.
>> The filter defines which nodes should store given cache data.
>>
>> Unfortunately, this property is not available in Ignite.NET.
>> You can define a filter in Java, then use it in your Ignite.NET
>> application:
>> * Write a filter in Java and compile
>> * Prepare Spring XML config file with  CacheConfiguration.NodeFilter set
>> to your Java filter
>> * Add compiled class/jar path to IgniteConfiguration.JvmClasspath in .NET
>> * Set IgniteConfiguration.SpringConfigUrl in .NET
>>
>> Let me know if this works for you. I can prepare a working example as
>> well.
>>
>> PS It may not be a good idea to separate data like that. What is the use
>> case here?
>>
>> On Sat, Apr 18, 2020 at 4:59 AM Sudhir Patil <pa...@gmail.com>
>> wrote:
>>
>>> Hi All,
>>>
>>> I am using ignite.net. Question is does it support caching a cache item
>>> on specific machine?
>>> E.g. I want to store Employee records on machine A and Employer records
>>> on machine B.
>>>
>>> Regards
>>> Sudhir
>>>
>>>
>>> --
>>> Thanks & Regards,
>>> Sudhir Patil,
>>> +91 9881095647.
>>>
>>
>
> --
> Thanks & Regards,
> Sudhir Patil,
> +91 9881095647.
>

Re: Ignite.net caching a item to specific machine

Posted by Sudhir Patil <pa...@gmail.com>.
Hi Pavel,

Thanks. Yes, maybe sample around this would be helpful.
Requirement side what we wanted is store specific cache items on machine so
that they served in better ways. I am not sure will it be helpful or not...

Regards
Sudhir

On Saturday, April 18, 2020, Pavel Tupitsyn <pt...@apache.org> wrote:

> Hi,
>
> There is a CacheConfiguration.NodeFilter property.
> The filter defines which nodes should store given cache data.
>
> Unfortunately, this property is not available in Ignite.NET.
> You can define a filter in Java, then use it in your Ignite.NET
> application:
> * Write a filter in Java and compile
> * Prepare Spring XML config file with  CacheConfiguration.NodeFilter set
> to your Java filter
> * Add compiled class/jar path to IgniteConfiguration.JvmClasspath in .NET
> * Set IgniteConfiguration.SpringConfigUrl in .NET
>
> Let me know if this works for you. I can prepare a working example as well.
>
> PS It may not be a good idea to separate data like that. What is the use
> case here?
>
> On Sat, Apr 18, 2020 at 4:59 AM Sudhir Patil <pa...@gmail.com>
> wrote:
>
>> Hi All,
>>
>> I am using ignite.net. Question is does it support caching a cache item
>> on specific machine?
>> E.g. I want to store Employee records on machine A and Employer records
>> on machine B.
>>
>> Regards
>> Sudhir
>>
>>
>> --
>> Thanks & Regards,
>> Sudhir Patil,
>> +91 9881095647.
>>
>

-- 
Thanks & Regards,
Sudhir Patil,
+91 9881095647.

Re: Ignite.net caching a item to specific machine

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

There is a CacheConfiguration.NodeFilter property.
The filter defines which nodes should store given cache data.

Unfortunately, this property is not available in Ignite.NET.
You can define a filter in Java, then use it in your Ignite.NET application:
* Write a filter in Java and compile
* Prepare Spring XML config file with  CacheConfiguration.NodeFilter set to
your Java filter
* Add compiled class/jar path to IgniteConfiguration.JvmClasspath in .NET
* Set IgniteConfiguration.SpringConfigUrl in .NET

Let me know if this works for you. I can prepare a working example as well.

PS It may not be a good idea to separate data like that. What is the use
case here?

On Sat, Apr 18, 2020 at 4:59 AM Sudhir Patil <pa...@gmail.com>
wrote:

> Hi All,
>
> I am using ignite.net. Question is does it support caching a cache item
> on specific machine?
> E.g. I want to store Employee records on machine A and Employer records on
> machine B.
>
> Regards
> Sudhir
>
>
> --
> Thanks & Regards,
> Sudhir Patil,
> +91 9881095647.
>