[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15830003#comment-15830003 ] Pavel Tupitsyn commented on IGNITE-4441: Merged to ignite-2.0 > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15823996#comment-15823996 ] Pavel Tupitsyn commented on IGNITE-4441: * Refactored plugin startup to use purely .NET mechanism so that {{IIgnite}} instance is available in all callbacks * Made sure that when plugin startup fails, all plugins are stopped properly in reverse order > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15823886#comment-15823886 ] Pavel Tupitsyn commented on IGNITE-4441: That's because at the moment of {{onKernalStart}}, {{IIgnite}} instance in .NET does not exist yet. So this particular callback can not be done using common Java component lifecycle. > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15818335#comment-15818335 ] Pavel Tupitsyn commented on IGNITE-4441: Refactored plugin lifecycle handling to PlatformPluginProcessor grid component. > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15778305#comment-15778305 ] Pavel Tupitsyn commented on IGNITE-4441: 1) Fixed. 2) Added sample. 3) Refactored to PlatformProcessor.startPlugins() which is called from kernal right after Java plugins. > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15778100#comment-15778100 ] Pavel Tupitsyn commented on IGNITE-4441: 1) As explained in the docs, this is not needed. Plugin author can always subscribe to {{IIgnite.Stopping}} and {{IIgnite.Stopped}}. No reason to force plugin authors to implement one more method. > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15772496#comment-15772496 ] Pavel Tupitsyn commented on IGNITE-4441: * {{CreateProvider}} removed, {{[PluginProviderType]}} added instead * Generic {{IPluginContext.PluginConfiguration}} added > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15769893#comment-15769893 ] Vladimir Ozerov commented on IGNITE-4441: - It would also be cool to have a shortcut method to get plugin configuration inside {{IPluginContext}}. E.g.: {code} T pluginConfiguration(); {code} > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15769877#comment-15769877 ] Vladimir Ozerov commented on IGNITE-4441: - Pavel, I am a bit concerned about {{IPluginConfiguration.CreateProvider}} method. Ideally user should not have access to this method. Can we define an attribute on concrete configuration which will point to a plugin class name? > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Vladimir Ozerov > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15761416#comment-15761416 ] ASF GitHub Bot commented on IGNITE-4441: GitHub user ptupitsyn opened a pull request: https://github.com/apache/ignite/pull/1362 IGNITE-4441 Define plugin API in .NET You can merge this pull request into a Git repository by running: $ git pull https://github.com/gridgain/apache-ignite ignite-4441 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/1362.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1362 > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15761412#comment-15761412 ] ASF GitHub Bot commented on IGNITE-4441: Github user ptupitsyn closed the pull request at: https://github.com/apache/ignite/pull/1359 > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15761268#comment-15761268 ] Pavel Tupitsyn commented on IGNITE-4441: Cache plugins extracted to a separate task, since they are unrelated to Ignite plugins: IGNITE-4457 > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{IPluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15760954#comment-15760954 ] ASF GitHub Bot commented on IGNITE-4441: GitHub user ptupitsyn opened a pull request: https://github.com/apache/ignite/pull/1359 IGNITE-4441 Define plugin API in .NET You can merge this pull request into a Git repository by running: $ git pull https://github.com/ptupitsyn/ignite ignite-4441 Alternatively you can review and apply these changes as the patch at: https://github.com/apache/ignite/pull/1359.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #1359 commit 8b94746b63a8278e1532bdea47516cfde09b59a0 Author: Pavel TupitsynDate: 2016-12-16T10:20:15Z IGNITE-4441 Define plugin API in .NET commit f3ac70c8a034e3d34eb1bc34c426b1458c225679 Author: Pavel Tupitsyn Date: 2016-12-16T10:50:36Z wip commit fe988bc6e3f921308f261f748811a492144b0e96 Author: Pavel Tupitsyn Date: 2016-12-16T10:54:19Z wip commit a64dc0499146e116da9733fc21e87163ae511d28 Author: Pavel Tupitsyn Date: 2016-12-16T12:03:35Z wip commit be84c3f2cb25240b4346410abaaa2439ee6dc911 Author: Pavel Tupitsyn Date: 2016-12-16T12:11:54Z wip commit 43b47c56cee5dd68cc47d17013fc74816bb198d5 Author: Pavel Tupitsyn Date: 2016-12-16T12:22:04Z IPluginProvider done commit d84b05afeb1dfdd0fbb41a26c1ad99fe4a909e21 Author: Pavel Tupitsyn Date: 2016-12-16T12:24:29Z IPluginConfiguration commit f1dbc9d6a0650e8f688b155b2541c2320b59e112 Author: Pavel Tupitsyn Date: 2016-12-16T12:27:03Z Plugin configuration commit 338913d8bb8270d5886ed399b59a7aeb43d87522 Author: Pavel Tupitsyn Date: 2016-12-16T13:11:30Z Add test commit da58fea7a92f6555cfe5be380aebc235eeb91034 Author: Pavel Tupitsyn Date: 2016-12-16T13:30:25Z wip PluginContext commit 0451bf7ca5553e273df469f5b1d1b4b72c0e3189 Author: Pavel Tupitsyn Date: 2016-12-16T13:32:08Z wip commit 8de48dae3f61e5318e8f74d356d87bdc68eb2c57 Author: Pavel Tupitsyn Date: 2016-12-16T13:47:10Z wip commit 5b746b66508239ff238e85740c145e3d5a95607d Author: Pavel Tupitsyn Date: 2016-12-16T14:02:55Z wip commit cc8b15ed98a81810e47409f89534218465475cc2 Author: Pavel Tupitsyn Date: 2016-12-16T14:16:06Z wip commit 926d1c09e134c1ce2ce4e723c09317b05067f6c8 Author: Pavel Tupitsyn Date: 2016-12-16T14:27:09Z wip GetPlugin commit e6d3f2e6c4101fe6149acc0e8dcc9a62792976d1 Author: Pavel Tupitsyn Date: 2016-12-16T14:27:22Z wip commit 57c0a159b32aca777fd44f1c4f4466e7f57d46cf Author: Pavel Tupitsyn Date: 2016-12-16T14:30:51Z First test works commit ef22ce4b4602a76e1181a4f315d3db12e713a5a9 Author: Pavel Tupitsyn Date: 2016-12-16T15:21:56Z Refactor tests commit a7b66aa7c96f5927a676afeb41c404af2ef62e3f Author: Pavel Tupitsyn Date: 2016-12-16T15:24:28Z wip tests commit 1d47a11f42864db4e2a15e253f5bf26780c704c3 Author: Pavel Tupitsyn Date: 2016-12-16T15:34:44Z wip commit 4a15c1fe022f3d93cbe704e4e0587b40f689c1ae Author: Pavel Tupitsyn Date: 2016-12-16T15:37:08Z wip tests commit cac95152937b85c217ec86931f544110b38322ad Author: Pavel Tupitsyn Date: 2016-12-16T15:45:53Z wip thoughts commit 132873499dc85d6e4a525a7b82b2904fb0e31d5a Author: Pavel Tupitsyn Date: 2016-12-16T15:49:35Z wip commit a2fe136bd4929f0068caba32514527905f0bf79f Author: Pavel Tupitsyn Date: 2016-12-16T16:08:18Z wip commit 4b49aa8cf0b1b7dc8657be1d71888cbeb5e71ea7 Author: Pavel Tupitsyn Date: 2016-12-16T16:28:33Z Refactor plugin loading commit 750ea64bd7a70f9cc59f652cc04a9aa7e7c2885f Author: Pavel Tupitsyn Date: 2016-12-16T16:32:26Z wip commit 3d7e2568e8677a822f181005ae9d45268b5f4aee Author: Pavel Tupitsyn Date: 2016-12-16T16:33:05Z wip tests commit 11d6bf506e6a60efdb2134ea04370d5b34b6c1b5 Author: Pavel Tupitsyn Date: 2016-12-16T16:35:53Z Duplicate plugin validation commit e1fe9c3e68997d26af2c8ad034d8e18d5aebe9b3 Author: Pavel Tupitsyn Date: 2016-12-16T16:37:24Z wip docs commit 0457c689d47233a439dd6c29fcd07085fc141b59 Author: Pavel Tupitsyn Date: 2016-12-16T16:57:56Z
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15754846#comment-15754846 ] Pavel Tupitsyn commented on IGNITE-4441: On the second thought, we should not examine all DLLs in the folder. * Scanning all assemblies in a folder is unsafe and slow * User may want to load specific plugins only, or decide dynamically which ones should be loaded So the proper way is to specify a list of PluginProvider classes via {{ICollection IgniteConfiguration.Plugins}}. This requires one extra step from the user, but allows precise control. > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{CacheConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{ICachePluginProvider}} > * {{IPluginContext}} > * {{ICachePluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15754818#comment-15754818 ] Pavel Tupitsyn commented on IGNITE-4441: Sure, I've outlined the general logic only in the description. > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{CacheConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{ICachePluginProvider}} > * {{IPluginContext}} > * {{ICachePluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (IGNITE-4441) Define plugin API in .NET
[ https://issues.apache.org/jira/browse/IGNITE-4441?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15754219#comment-15754219 ] Vladimir Ozerov commented on IGNITE-4441: - Pavel, Please note that we must not only call a single "start" method, but rather wire-up the plugin with general start lifecycle: - onStart - onIgniteStart - onIgniteStop - onStop > Define plugin API in .NET > - > > Key: IGNITE-4441 > URL: https://issues.apache.org/jira/browse/IGNITE-4441 > Project: Ignite > Issue Type: Sub-task > Components: platforms >Reporter: Pavel Tupitsyn >Assignee: Pavel Tupitsyn > Labels: .NET > Fix For: 2.0 > > > Define plugin API in .NET similar to Java API: > * {{IgniteConfiguration.PluginConfigurations}} > * {{CacheConfiguration.PluginConfigurations}} > * {{IPluginProvider}} > * {{ICachePluginProvider}} > * {{IPluginContext}} > * {{ICachePluginContext}} > Should work like this: > * Plugin author implements {{IPluginProvider}} > * We discover plugins on Ignite start by examining all DLL files in the > folder, load DLLs where {{IPluginProvider}} implementations are present, > instantiate these implementations, and call > {{IPluginProvider.Start(IPluginContext)}} method. > * Plugin user can retrieve plugin via {{IIgnite.GetPlugin(string name)}}, > or via helper extension method provided by plugin author. > This task does not include the possibility to interact with Java from the > plugin code. -- This message was sent by Atlassian JIRA (v6.3.4#6332)