Currently used is the latest hatching version: 1.3.0-incubating.
Official document Https://apacheignite.readme.io/docs/zero-deployment a distributed class loading mechanism (distributed ClassLoader) is given here.
The document says so:
The closures and tasks that you have with for your computations is the any custom class, including anonymous classes. In Ignite, the remote nodes would automatically become aware of those classes, and you won ' t need to explicitly deploy or M Ove any. jar files to any remote nodes.
Such behavior is possible due to peer class loading (peer class loading), a specialdistributed ClassLoader in Igni Te for Inter-node byte-code Exchange. With peer-class-loading-enabled, you don ' t has to manually deploy your Java or Scala code on each node in the grid and re -deploy it each time it changes.
In your calculations, the closures (Java8 concepts) and tasks that are used may be classes that our program writes itself, including anonymous classes. In the ignite cluster, the remote nodes can perceive you in each of these classes, so that we can avoid the display of packaging our class into a jar file, placed under each LIB file of the cluster ignite.
This behavior is due to peer class loading, a special kind of distributed class loading, you can exchange bytecode between the clusters, using Peer class loading, Your Java code or Scala code does not have to be published manually or republished to the cluster machine due to changes in business needs.
The document says so, but now the 1.3.0-incubating, Apache ignite not all the features can be very well supported. In the case of SQL queries,peer class loading will fail.
I raised the isssue:https://issues.apache.org/jira/browse/ignite-1255, why does SQL query configure Peer class loading still fail, You must publish the jar package manually.
The answer is: Some currently unsupported, you must manually publish the jar package.
The respondents said: I think whenIGNITE-950 would be fixed, there would be no need to put user classes on the server side, soPeercla ssloadingenabled setting is not having special behavior for caches anymore.
And, at present, the official only said:
It is recommended this peer-class-loading is disabled in production. Generally want to has a controlled production environment without any magic. To deploy your classes explicitly, you can copy them into Ignite libs
folder or manually add them to the classpath on eve RY node.
Build environment Disable this peer-class-loading, as if the current version, this good function is not very well implemented.
So, we're still releasing the jar package manually.
Copyright NOTICE: This article for Bo Master original article, without BO Master permission cannot reprint [http://blog.csdn.net/doctor_who2004].
Peer class loading for Apache Ignite (peer class loading)