You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by 姜 为 <yd...@gmail.com> on 2016/01/22 04:26:01 UTC
ignite cache process entry should inject source?
Hi Igniters,
I’m using Ignite cache store objects. The object use Externalizable interface
to serialization and deserialization.
When object has field use @SpringSource will not inject.
Should add resource inject to Ignite cache?
example :
class Entey implements Externalizable {
@SpringSource(“springSource")
private Service service;
public void read… and write...
}
Re: ignite cache process entry should inject source?
Posted by Denis Magda <dm...@gridgain.com>.
Hi Wei Jiang,
In my understanding you should persuade them to a valid design ;)
--
Denis
On 1/26/2016 4:50 PM, 姜 为 wrote:
> Hi Denis,
>
> Yes , I can change the way to do this.
>
> But my business follows MVC paradigm it will be very bloated.
>
> Hope can provide an option to do this.
>
> What do you think so?
>
> Wei Jiang
>
>
>> 在 2016年1月26日,下午8:10,Denis Magda <dm...@gridgain.com> 写道:
>>
>> Hi Wei Jiang,
>>
>> I've taken look at your code sample and in my understanding you just shouldn't design an app in a way when a business model object (Entity) incorporates and performs a business logic (Entity.doSomething()).
>> Ignite follows MVC paradigm thus there is no sense to inject services into business model objects.
>>
>> I would use Entity only for storing actual data and if I it's needed to perform an operation on an Entity or in general using a service (ExampleService) would follow one of the below:
>> - get a reference to an instance of ExampleService 'context.getBean(...)' and use it if I need to do some operation locally;
>> - inject a reference into an Ignite Compute closure if I need to run the computation across the cluster
>>
>> ignite.compute().broadcast(new ComputeJob());
>>
>> .....
>>
>> private static class ComputeJobimplements IgniteRunnable {
>> @SpringResource(resourceName ="exampleService")
>> private transient ExampleServiceservice;
>>
>> @Override public void run() {
>> System.out.println("Executing service from compute");
>> service.doSomething();
>> }
>> }
>>
>>
>> Hope this helps you.
>> Denis
>>
>> On 1/25/2016 4:45 PM, 姜 为 wrote:
>>> Hi Denis,
>>>
>>> I create example project https://github.com/wmz7year/ignite-example <https://github.com/wmz7year/ignite-example>.
>>>
>>> Please see README file to run example.
>>>
>>> Wei Jiang
>>>
>>>
>>>> 在 2016年1月23日,上午2:40,Denis Magda <dm...@gridgain.com> 写道:
>>>>
>>>> Hi Wei Jiang,
>>>>
>>>> I would better review your current approach to have better understanding on what you're trying to implement.
>>>>
>>>> Please share the code. If it's the same as being discussed in "about AOP development" thread that let me know, I'll take a look there.
>>>>
>>>> --
>>>> Denis
>>>>
>>>> On 1/22/2016 10:28 AM, 姜 为 wrote:
>>>>> Hi Denis,
>>>>>
>>>>> How about provide an option for this?
>>>>>
>>>>> Ignite cache user can chose enable or disable inject resources.
>>>>>
>>>>> Wei Jiang
>>>>>
>>>>>> 在 2016年1月22日,下午3:22,Denis Magda <dm...@gridgain.com> 写道:
>>>>>>
>>>>>> Hi Wei Jiang,
>>>>>>
>>>>>> You can inject @SpringResource and @SpringApplicationContextResource into Ignite Service or Ignite Compute. This feature is not supported for individual cache entries, at least because of performance reasons.
>>>>>> @Autowired is unsupported for both Ignite services and computes.
>>>>>>
>>>>>> So if you need to process the entries inside of Ignite Compute or Ignite Service then just inject a resource there using one of the annotations above.
>>>>>>
>>>>>> The main point here is that all the nodes have to be started as a part of spring app context or have to have a reference to it.
>>>>>> Please refer to org.apache.ignite.IgniteSpring for more info.
>>>>>>
>>>>>> Regards,
>>>>>> Denis
>>>>>>
>>>>>> On 1/22/2016 10:07 AM, 姜 为 wrote:
>>>>>>> Hi Denis,
>>>>>>>
>>>>>>> I try to use Ignite cache to store the service object.
>>>>>>> The object use Externalizable interface and has a @Autowired field.
>>>>>>>
>>>>>>> When different node use this object, the @Autowired field will be null,even @SpringResources on the field.
>>>>>>>
>>>>>>> The field like JPA interface , it can’t be serialization.
>>>>>>>
>>>>>>> Wei Jiang
>>>>>>>
>>>>>>>
>>>>>>>> 在 2016年1月22日,下午2:58,Denis Magda <dm...@gridgain.com> 写道:
>>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> Spring resource injection is considered to be used only for Ignite Compute Jobs.
>>>>>>>>
>>>>>>>> It's quite expensive operation to inject a resource for a CacheEntry cause this logic will be called for every entry stored in a cache.
>>>>>>>>
>>>>>>>> Why do you need to inject the resource into a CacheEntry? What do you try to achieve?
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Denis
>>>>>>>>
>>>>>>>> On 1/22/2016 6:26 AM, 姜 为 wrote:
>>>>>>>>> Hi Igniters,
>>>>>>>>>
>>>>>>>>> I’m using Ignite cache store objects. The object use Externalizable interface
>>>>>>>>> to serialization and deserialization.
>>>>>>>>> When object has field use @SpringSource will not inject.
>>>>>>>>>
>>>>>>>>> Should add resource inject to Ignite cache?
>>>>>>>>>
>>>>>>>>> example :
>>>>>>>>>
>>>>>>>>> class Entey implements Externalizable {
>>>>>>>>> @SpringSource(“springSource")
>>>>>>>>> private Service service;
>>>>>>>>> public void read… and write...
>>>>>>>>> }
Re: ignite cache process entry should inject source?
Posted by 姜 为 <yd...@gmail.com>.
Hi Denis,
Yes , I can change the way to do this.
But my business follows MVC paradigm it will be very bloated.
Hope can provide an option to do this.
What do you think so?
Wei Jiang
> 在 2016年1月26日,下午8:10,Denis Magda <dm...@gridgain.com> 写道:
>
> Hi Wei Jiang,
>
> I've taken look at your code sample and in my understanding you just shouldn't design an app in a way when a business model object (Entity) incorporates and performs a business logic (Entity.doSomething()).
> Ignite follows MVC paradigm thus there is no sense to inject services into business model objects.
>
> I would use Entity only for storing actual data and if I it's needed to perform an operation on an Entity or in general using a service (ExampleService) would follow one of the below:
> - get a reference to an instance of ExampleService 'context.getBean(...)' and use it if I need to do some operation locally;
> - inject a reference into an Ignite Compute closure if I need to run the computation across the cluster
>
> ignite.compute().broadcast(new ComputeJob());
>
> .....
>
> private static class ComputeJobimplements IgniteRunnable {
> @SpringResource(resourceName ="exampleService")
> private transient ExampleServiceservice;
>
> @Override public void run() {
> System.out.println("Executing service from compute");
> service.doSomething();
> }
> }
>
>
> Hope this helps you.
> Denis
>
> On 1/25/2016 4:45 PM, 姜 为 wrote:
>> Hi Denis,
>>
>> I create example project https://github.com/wmz7year/ignite-example <https://github.com/wmz7year/ignite-example>.
>>
>> Please see README file to run example.
>>
>> Wei Jiang
>>
>>
>>> 在 2016年1月23日,上午2:40,Denis Magda <dm...@gridgain.com> 写道:
>>>
>>> Hi Wei Jiang,
>>>
>>> I would better review your current approach to have better understanding on what you're trying to implement.
>>>
>>> Please share the code. If it's the same as being discussed in "about AOP development" thread that let me know, I'll take a look there.
>>>
>>> --
>>> Denis
>>>
>>> On 1/22/2016 10:28 AM, 姜 为 wrote:
>>>> Hi Denis,
>>>>
>>>> How about provide an option for this?
>>>>
>>>> Ignite cache user can chose enable or disable inject resources.
>>>>
>>>> Wei Jiang
>>>>
>>>>> 在 2016年1月22日,下午3:22,Denis Magda <dm...@gridgain.com> 写道:
>>>>>
>>>>> Hi Wei Jiang,
>>>>>
>>>>> You can inject @SpringResource and @SpringApplicationContextResource into Ignite Service or Ignite Compute. This feature is not supported for individual cache entries, at least because of performance reasons.
>>>>> @Autowired is unsupported for both Ignite services and computes.
>>>>>
>>>>> So if you need to process the entries inside of Ignite Compute or Ignite Service then just inject a resource there using one of the annotations above.
>>>>>
>>>>> The main point here is that all the nodes have to be started as a part of spring app context or have to have a reference to it.
>>>>> Please refer to org.apache.ignite.IgniteSpring for more info.
>>>>>
>>>>> Regards,
>>>>> Denis
>>>>>
>>>>> On 1/22/2016 10:07 AM, 姜 为 wrote:
>>>>>> Hi Denis,
>>>>>>
>>>>>> I try to use Ignite cache to store the service object.
>>>>>> The object use Externalizable interface and has a @Autowired field.
>>>>>>
>>>>>> When different node use this object, the @Autowired field will be null,even @SpringResources on the field.
>>>>>>
>>>>>> The field like JPA interface , it can’t be serialization.
>>>>>>
>>>>>> Wei Jiang
>>>>>>
>>>>>>
>>>>>>> 在 2016年1月22日,下午2:58,Denis Magda <dm...@gridgain.com> 写道:
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>> Spring resource injection is considered to be used only for Ignite Compute Jobs.
>>>>>>>
>>>>>>> It's quite expensive operation to inject a resource for a CacheEntry cause this logic will be called for every entry stored in a cache.
>>>>>>>
>>>>>>> Why do you need to inject the resource into a CacheEntry? What do you try to achieve?
>>>>>>>
>>>>>>> Regards,
>>>>>>> Denis
>>>>>>>
>>>>>>> On 1/22/2016 6:26 AM, 姜 为 wrote:
>>>>>>>> Hi Igniters,
>>>>>>>>
>>>>>>>> I’m using Ignite cache store objects. The object use Externalizable interface
>>>>>>>> to serialization and deserialization.
>>>>>>>> When object has field use @SpringSource will not inject.
>>>>>>>>
>>>>>>>> Should add resource inject to Ignite cache?
>>>>>>>>
>>>>>>>> example :
>>>>>>>>
>>>>>>>> class Entey implements Externalizable {
>>>>>>>> @SpringSource(“springSource")
>>>>>>>> private Service service;
>>>>>>>> public void read… and write...
>>>>>>>> }
>>
>
Re: ignite cache process entry should inject source?
Posted by Denis Magda <dm...@gridgain.com>.
Hi Wei Jiang,
I've taken look at your code sample and in my understanding you just
shouldn't design an app in a way when a business model object (Entity)
incorporates and performs a business logic (Entity.doSomething()).
Ignite follows MVC paradigm thus there is no sense to inject services
into business model objects.
I would use Entity only for storing actual data and if I it's needed to
perform an operation on an Entity or in general using a service
(ExampleService) would follow one of the below:
- get a reference to an instance of ExampleService
'context.getBean(...)' and use it if I need to do some operation locally;
- inject a reference into an Ignite Compute closure if I need to run the
computation across the cluster
ignite.compute().broadcast(new ComputeJob());
.....
private static class ComputeJobimplements IgniteRunnable {
@SpringResource(resourceName ="exampleService")
private transient ExampleServiceservice;
@Override public void run() {
System.out.println("Executing service from compute");
service.doSomething();
}
}
Hope this helps you.
Denis
On 1/25/2016 4:45 PM, 姜 为 wrote:
> Hi Denis,
>
> I create example project https://github.com/wmz7year/ignite-example <https://github.com/wmz7year/ignite-example>.
>
> Please see README file to run example.
>
> Wei Jiang
>
>
>> 在 2016年1月23日,上午2:40,Denis Magda <dm...@gridgain.com> 写道:
>>
>> Hi Wei Jiang,
>>
>> I would better review your current approach to have better understanding on what you're trying to implement.
>>
>> Please share the code. If it's the same as being discussed in "about AOP development" thread that let me know, I'll take a look there.
>>
>> --
>> Denis
>>
>> On 1/22/2016 10:28 AM, 姜 为 wrote:
>>> Hi Denis,
>>>
>>> How about provide an option for this?
>>>
>>> Ignite cache user can chose enable or disable inject resources.
>>>
>>> Wei Jiang
>>>
>>>> 在 2016年1月22日,下午3:22,Denis Magda <dm...@gridgain.com> 写道:
>>>>
>>>> Hi Wei Jiang,
>>>>
>>>> You can inject @SpringResource and @SpringApplicationContextResource into Ignite Service or Ignite Compute. This feature is not supported for individual cache entries, at least because of performance reasons.
>>>> @Autowired is unsupported for both Ignite services and computes.
>>>>
>>>> So if you need to process the entries inside of Ignite Compute or Ignite Service then just inject a resource there using one of the annotations above.
>>>>
>>>> The main point here is that all the nodes have to be started as a part of spring app context or have to have a reference to it.
>>>> Please refer to org.apache.ignite.IgniteSpring for more info.
>>>>
>>>> Regards,
>>>> Denis
>>>>
>>>> On 1/22/2016 10:07 AM, 姜 为 wrote:
>>>>> Hi Denis,
>>>>>
>>>>> I try to use Ignite cache to store the service object.
>>>>> The object use Externalizable interface and has a @Autowired field.
>>>>>
>>>>> When different node use this object, the @Autowired field will be null,even @SpringResources on the field.
>>>>>
>>>>> The field like JPA interface , it can’t be serialization.
>>>>>
>>>>> Wei Jiang
>>>>>
>>>>>
>>>>>> 在 2016年1月22日,下午2:58,Denis Magda <dm...@gridgain.com> 写道:
>>>>>>
>>>>>> Hi,
>>>>>>
>>>>>> Spring resource injection is considered to be used only for Ignite Compute Jobs.
>>>>>>
>>>>>> It's quite expensive operation to inject a resource for a CacheEntry cause this logic will be called for every entry stored in a cache.
>>>>>>
>>>>>> Why do you need to inject the resource into a CacheEntry? What do you try to achieve?
>>>>>>
>>>>>> Regards,
>>>>>> Denis
>>>>>>
>>>>>> On 1/22/2016 6:26 AM, 姜 为 wrote:
>>>>>>> Hi Igniters,
>>>>>>>
>>>>>>> I’m using Ignite cache store objects. The object use Externalizable interface
>>>>>>> to serialization and deserialization.
>>>>>>> When object has field use @SpringSource will not inject.
>>>>>>>
>>>>>>> Should add resource inject to Ignite cache?
>>>>>>>
>>>>>>> example :
>>>>>>>
>>>>>>> class Entey implements Externalizable {
>>>>>>> @SpringSource(“springSource")
>>>>>>> private Service service;
>>>>>>> public void read… and write...
>>>>>>> }
>
Re: ignite cache process entry should inject source?
Posted by 姜 为 <yd...@gmail.com>.
Hi Denis,
I create example project https://github.com/wmz7year/ignite-example <https://github.com/wmz7year/ignite-example>.
Please see README file to run example.
Wei Jiang
> 在 2016年1月23日,上午2:40,Denis Magda <dm...@gridgain.com> 写道:
>
> Hi Wei Jiang,
>
> I would better review your current approach to have better understanding on what you're trying to implement.
>
> Please share the code. If it's the same as being discussed in "about AOP development" thread that let me know, I'll take a look there.
>
> --
> Denis
>
> On 1/22/2016 10:28 AM, 姜 为 wrote:
>> Hi Denis,
>>
>> How about provide an option for this?
>>
>> Ignite cache user can chose enable or disable inject resources.
>>
>> Wei Jiang
>>
>>> 在 2016年1月22日,下午3:22,Denis Magda <dm...@gridgain.com> 写道:
>>>
>>> Hi Wei Jiang,
>>>
>>> You can inject @SpringResource and @SpringApplicationContextResource into Ignite Service or Ignite Compute. This feature is not supported for individual cache entries, at least because of performance reasons.
>>> @Autowired is unsupported for both Ignite services and computes.
>>>
>>> So if you need to process the entries inside of Ignite Compute or Ignite Service then just inject a resource there using one of the annotations above.
>>>
>>> The main point here is that all the nodes have to be started as a part of spring app context or have to have a reference to it.
>>> Please refer to org.apache.ignite.IgniteSpring for more info.
>>>
>>> Regards,
>>> Denis
>>>
>>> On 1/22/2016 10:07 AM, 姜 为 wrote:
>>>> Hi Denis,
>>>>
>>>> I try to use Ignite cache to store the service object.
>>>> The object use Externalizable interface and has a @Autowired field.
>>>>
>>>> When different node use this object, the @Autowired field will be null,even @SpringResources on the field.
>>>>
>>>> The field like JPA interface , it can’t be serialization.
>>>>
>>>> Wei Jiang
>>>>
>>>>
>>>>> 在 2016年1月22日,下午2:58,Denis Magda <dm...@gridgain.com> 写道:
>>>>>
>>>>> Hi,
>>>>>
>>>>> Spring resource injection is considered to be used only for Ignite Compute Jobs.
>>>>>
>>>>> It's quite expensive operation to inject a resource for a CacheEntry cause this logic will be called for every entry stored in a cache.
>>>>>
>>>>> Why do you need to inject the resource into a CacheEntry? What do you try to achieve?
>>>>>
>>>>> Regards,
>>>>> Denis
>>>>>
>>>>> On 1/22/2016 6:26 AM, 姜 为 wrote:
>>>>>> Hi Igniters,
>>>>>>
>>>>>> I’m using Ignite cache store objects. The object use Externalizable interface
>>>>>> to serialization and deserialization.
>>>>>> When object has field use @SpringSource will not inject.
>>>>>>
>>>>>> Should add resource inject to Ignite cache?
>>>>>>
>>>>>> example :
>>>>>>
>>>>>> class Entey implements Externalizable {
>>>>>> @SpringSource(“springSource")
>>>>>> private Service service;
>>>>>> public void read… and write...
>>>>>> }
>
Re: ignite cache process entry should inject source?
Posted by Denis Magda <dm...@gridgain.com>.
Hi Wei Jiang,
I would better review your current approach to have better understanding
on what you're trying to implement.
Please share the code. If it's the same as being discussed in "about AOP
development" thread that let me know, I'll take a look there.
--
Denis
On 1/22/2016 10:28 AM, 姜 为 wrote:
> Hi Denis,
>
> How about provide an option for this?
>
> Ignite cache user can chose enable or disable inject resources.
>
> Wei Jiang
>
>> 在 2016年1月22日,下午3:22,Denis Magda <dm...@gridgain.com> 写道:
>>
>> Hi Wei Jiang,
>>
>> You can inject @SpringResource and @SpringApplicationContextResource into Ignite Service or Ignite Compute. This feature is not supported for individual cache entries, at least because of performance reasons.
>> @Autowired is unsupported for both Ignite services and computes.
>>
>> So if you need to process the entries inside of Ignite Compute or Ignite Service then just inject a resource there using one of the annotations above.
>>
>> The main point here is that all the nodes have to be started as a part of spring app context or have to have a reference to it.
>> Please refer to org.apache.ignite.IgniteSpring for more info.
>>
>> Regards,
>> Denis
>>
>> On 1/22/2016 10:07 AM, 姜 为 wrote:
>>> Hi Denis,
>>>
>>> I try to use Ignite cache to store the service object.
>>> The object use Externalizable interface and has a @Autowired field.
>>>
>>> When different node use this object, the @Autowired field will be null,even @SpringResources on the field.
>>>
>>> The field like JPA interface , it can’t be serialization.
>>>
>>> Wei Jiang
>>>
>>>
>>>> 在 2016年1月22日,下午2:58,Denis Magda <dm...@gridgain.com> 写道:
>>>>
>>>> Hi,
>>>>
>>>> Spring resource injection is considered to be used only for Ignite Compute Jobs.
>>>>
>>>> It's quite expensive operation to inject a resource for a CacheEntry cause this logic will be called for every entry stored in a cache.
>>>>
>>>> Why do you need to inject the resource into a CacheEntry? What do you try to achieve?
>>>>
>>>> Regards,
>>>> Denis
>>>>
>>>> On 1/22/2016 6:26 AM, 姜 为 wrote:
>>>>> Hi Igniters,
>>>>>
>>>>> I’m using Ignite cache store objects. The object use Externalizable interface
>>>>> to serialization and deserialization.
>>>>> When object has field use @SpringSource will not inject.
>>>>>
>>>>> Should add resource inject to Ignite cache?
>>>>>
>>>>> example :
>>>>>
>>>>> class Entey implements Externalizable {
>>>>> @SpringSource(“springSource")
>>>>> private Service service;
>>>>> public void read… and write...
>>>>> }
Re: ignite cache process entry should inject source?
Posted by 姜 为 <yd...@gmail.com>.
Hi Denis,
How about provide an option for this?
Ignite cache user can chose enable or disable inject resources.
Wei Jiang
> 在 2016年1月22日,下午3:22,Denis Magda <dm...@gridgain.com> 写道:
>
> Hi Wei Jiang,
>
> You can inject @SpringResource and @SpringApplicationContextResource into Ignite Service or Ignite Compute. This feature is not supported for individual cache entries, at least because of performance reasons.
> @Autowired is unsupported for both Ignite services and computes.
>
> So if you need to process the entries inside of Ignite Compute or Ignite Service then just inject a resource there using one of the annotations above.
>
> The main point here is that all the nodes have to be started as a part of spring app context or have to have a reference to it.
> Please refer to org.apache.ignite.IgniteSpring for more info.
>
> Regards,
> Denis
>
> On 1/22/2016 10:07 AM, 姜 为 wrote:
>> Hi Denis,
>>
>> I try to use Ignite cache to store the service object.
>> The object use Externalizable interface and has a @Autowired field.
>>
>> When different node use this object, the @Autowired field will be null,even @SpringResources on the field.
>>
>> The field like JPA interface , it can’t be serialization.
>>
>> Wei Jiang
>>
>>
>>> 在 2016年1月22日,下午2:58,Denis Magda <dm...@gridgain.com> 写道:
>>>
>>> Hi,
>>>
>>> Spring resource injection is considered to be used only for Ignite Compute Jobs.
>>>
>>> It's quite expensive operation to inject a resource for a CacheEntry cause this logic will be called for every entry stored in a cache.
>>>
>>> Why do you need to inject the resource into a CacheEntry? What do you try to achieve?
>>>
>>> Regards,
>>> Denis
>>>
>>> On 1/22/2016 6:26 AM, 姜 为 wrote:
>>>> Hi Igniters,
>>>>
>>>> I’m using Ignite cache store objects. The object use Externalizable interface
>>>> to serialization and deserialization.
>>>> When object has field use @SpringSource will not inject.
>>>>
>>>> Should add resource inject to Ignite cache?
>>>>
>>>> example :
>>>>
>>>> class Entey implements Externalizable {
>>>> @SpringSource(“springSource")
>>>> private Service service;
>>>> public void read… and write...
>>>> }
>
Re: ignite cache process entry should inject source?
Posted by Denis Magda <dm...@gridgain.com>.
Hi Wei Jiang,
You can inject @SpringResource and @SpringApplicationContextResource
into Ignite Service or Ignite Compute. This feature is not supported for
individual cache entries, at least because of performance reasons.
@Autowired is unsupported for both Ignite services and computes.
So if you need to process the entries inside of Ignite Compute or Ignite
Service then just inject a resource there using one of the annotations
above.
The main point here is that all the nodes have to be started as a part
of spring app context or have to have a reference to it.
Please refer to org.apache.ignite.IgniteSpring for more info.
Regards,
Denis
On 1/22/2016 10:07 AM, 姜 为 wrote:
> Hi Denis,
>
> I try to use Ignite cache to store the service object.
> The object use Externalizable interface and has a @Autowired field.
>
> When different node use this object, the @Autowired field will be null,even @SpringResources on the field.
>
> The field like JPA interface , it can’t be serialization.
>
> Wei Jiang
>
>
>> 在 2016年1月22日,下午2:58,Denis Magda <dm...@gridgain.com> 写道:
>>
>> Hi,
>>
>> Spring resource injection is considered to be used only for Ignite Compute Jobs.
>>
>> It's quite expensive operation to inject a resource for a CacheEntry cause this logic will be called for every entry stored in a cache.
>>
>> Why do you need to inject the resource into a CacheEntry? What do you try to achieve?
>>
>> Regards,
>> Denis
>>
>> On 1/22/2016 6:26 AM, 姜 为 wrote:
>>> Hi Igniters,
>>>
>>> I’m using Ignite cache store objects. The object use Externalizable interface
>>> to serialization and deserialization.
>>> When object has field use @SpringSource will not inject.
>>>
>>> Should add resource inject to Ignite cache?
>>>
>>> example :
>>>
>>> class Entey implements Externalizable {
>>> @SpringSource(“springSource")
>>> private Service service;
>>>
>>> public void read… and write...
>>> }
Re: ignite cache process entry should inject source?
Posted by 姜 为 <yd...@gmail.com>.
Hi Denis,
I try to use Ignite cache to store the service object.
The object use Externalizable interface and has a @Autowired field.
When different node use this object, the @Autowired field will be null,even @SpringResources on the field.
The field like JPA interface , it can’t be serialization.
Wei Jiang
> 在 2016年1月22日,下午2:58,Denis Magda <dm...@gridgain.com> 写道:
>
> Hi,
>
> Spring resource injection is considered to be used only for Ignite Compute Jobs.
>
> It's quite expensive operation to inject a resource for a CacheEntry cause this logic will be called for every entry stored in a cache.
>
> Why do you need to inject the resource into a CacheEntry? What do you try to achieve?
>
> Regards,
> Denis
>
> On 1/22/2016 6:26 AM, 姜 为 wrote:
>> Hi Igniters,
>>
>> I’m using Ignite cache store objects. The object use Externalizable interface
>> to serialization and deserialization.
>> When object has field use @SpringSource will not inject.
>>
>> Should add resource inject to Ignite cache?
>>
>> example :
>>
>> class Entey implements Externalizable {
>> @SpringSource(“springSource")
>> private Service service;
>>
>> public void read… and write...
>> }
>
Re: ignite cache process entry should inject source?
Posted by Denis Magda <dm...@gridgain.com>.
Hi,
Spring resource injection is considered to be used only for Ignite
Compute Jobs.
It's quite expensive operation to inject a resource for a CacheEntry
cause this logic will be called for every entry stored in a cache.
Why do you need to inject the resource into a CacheEntry? What do you
try to achieve?
Regards,
Denis
On 1/22/2016 6:26 AM, 姜 为 wrote:
> Hi Igniters,
>
> I’m using Ignite cache store objects. The object use Externalizable interface
> to serialization and deserialization.
> When object has field use @SpringSource will not inject.
>
> Should add resource inject to Ignite cache?
>
> example :
>
> class Entey implements Externalizable {
> @SpringSource(“springSource")
> private Service service;
>
>
> public void read… and write...
> }