As for the last step, let me correct myself: 3. Start server Ignite node from spring context *AND *put spring jars inside classpath in *.sh file. Be sure, that both nodes are using the same xml context.
On Wed, Jan 20, 2016 at 5:07 PM, Vladimir Ershov <vers...@gridgain.com> wrote: > 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, 李玉珏 <18624049...@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 <18624049...@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 <18624049...@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. >> >>>>> >> >>>>> >> >>> >> >>> >> >> >> > >> > >> > >