ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vladimir Ershov <vers...@gridgain.com>
Subject Re: Re: about AOP development
Date Wed, 20 Jan 2016 14:07:43 GMT
Hi!

I've checked your code and spot an issue. The root cause, is using of
Autowired annotation, since it cause bean to be serialized on a client
side, and that leads ClassNotFoundException on the server side during bean
deserialization, since server was started from *.sh, without necessary
spring jars in the classpath.

Good news here, that it could be fixed easily with those steps:

   1. Remove Autowired from transferred entities as ComputeGridJob
   2. When you need an applicationContext, use
   @SpringApplicationContextResource annotation.  You are need to use it in
   your ComputeGridTask.
   3. Start server Ignite node from spring context, or put spring jars
   inside classpath in *.sh file.

Also, you can simplify your solution for ComputeGridService by using
@ServiceResource. Take a look:
https://apacheignite.readme.io/docs/service-example

Thanks!

On Wed, Jan 20, 2016 at 6:07 AM, 李玉珏 <18624049226@163.com> wrote:

> Hi:
> The relevant code on the GitHub, the address is:
> https://github.com/liyuj/computegrid
>
>
> Sent from Mail Master
>
>
>
> On 2016-01-20 04:32 , Dmitriy Setrakyan Wrote:
>
> The list does not support attachments. You can use pastebin [1] or gist [2]
> to paste your code and send the link here.
>
> [1] http://pastebin.com/
> [2] https://gist.github.com/
>
> D.
>
> On Tue, Jan 19, 2016 at 4:48 AM, 李玉珏@163 <18624049226@163.com> wrote:
>
> > Hi:
> >
> > I had just sent the code to the list.
> >
> > 在 16/1/19 20:39, Denis Magda 写道:
> >
> > Seems that peerClassLoading doesn't work for your case. Please share the
> >> source code of your example.
> >>
> >> --
> >> Denis
> >>
> >> On 1/18/2016 3:48 PM, 李玉珏@163 wrote:
> >>
> >>> Hi:
> >>>
> >>> I have already opened the peerClassLoading.
> >>> My practice is in eclipse create a java project, developed a
> >>> ComputeTaskSplitAdapter examples, then in the ComputeJobAdapter call
> >>> configured spring interceptors service. This example in eclipse
> operation
> >>> is no problem.
> >>>
> >>> But if I open a node in the command line by ignite.sh, it will prompt
> >>> the following error in the command line.
> >>>
> >>> In the default configuration file of ignite, the same configuration of
> >>> the peerClassLoading=true.
> >>>
> >>> 在 16/1/18 19:39, Yakov Zhdanov 写道:
> >>>
> >>>> Can you please try enabling "peerClassLoading" and share the results
> >>>> here?
> >>>>
> >>>> --Yakov
> >>>>
> >>>> 2016-01-16 12:09 GMT+03:00 李玉珏@163 <18624049226@163.com>:
> >>>>
> >>>> Hi:
> >>>>>
> >>>>> In a distributed environment, if use the spring AOP programming,
> >>>>> generated
> >>>>> a class of byte code enhancement, then the error will be reported
as
> >>>>> follows:
> >>>>>
> >>>>> java.lang.ClassNotFoundException:
> >>>>> demo.computegrid.ComputeGridService$$EnhancerBySpringCGLIB$$7b44b192
> >>>>>
> >>>>> This error I understand, this class does not exist on the remote
> node.
> >>>>> But the question is, is it a technical limitation of Ignite, or
is it
> >>>>> the
> >>>>> way I use it,or is it a bug?
> >>>>>
> >>>>> I opened the peer class loading , the normal deployment I did not
> test,
> >>>>> but I estimate it will be the same error.
> >>>>>
> >>>>>
> >>>
> >>>
> >>
> >
> >
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message