![]() Please wait while updating issue type...
Could not save your changes
This issue has been changed since you started editing it
Data that has been changed is highlighted in red below. Undo your changes to see the updated information
You have changed this issue, but haven't saved your changes yet. To save it, press the Save changes button to the right
This issue is blocking the next release
![]() There are no comments
There is nothing attached to this issue
This issue has no duplicates
There are no code checkins for this issue |
|||||||||||||||||||||||||||||
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
I first tried to use C# tasks that would inherit from the proxies generated by jni4net for the JPPF classes like Task and AbstractTask. This does not work, because jni4net does not handle cross-boundaries inhreritance. I can understand how very difficult this would be to implement and I should have realized earlier. So, after over two months of trials I finally implemented an approach that works:
1) First I defined a C# class named BaseDotnetTask from which all C# tasks inherit, so they all have a common Execute() method.
2) I defined a C# class name DotnetSerializer whose purpose is to serialize/deserialize C# tasks into/from binary format. The tasks are serialized as byte[], which jni4net makes directly interoperable with the Java byte[]. This class also has an Execute(byte[]) method which deserializes byte[] into a subclass of BaseDotnetTask, calls its Execute() method, then serializes its new state into a returned byte[].
3) On the Java side, I implemented a special Task named DonetTaskWrapper which has a byte[] attribute holding the serialized C# task, and whose run() method does the following:
Really delete this comment?
Really delete this comment?
I'm currently working on the management features available from a client. In particular, dynamic mbean proxies will not work with the .Net bridge, since jni4net doesn't handle them, nor is it supposed to. Consequently, I'm working on implementing static proxies for all the built-in MBeans. Since I don't want to spend any time maintaining these static proxies, I'm writing a code generator which uses reflection on the MBean interfaces to generate the code of the static proxies. The generator is working so far, at least it generates proper code, but I still need to test it at runtime and then integrate the code generation into the build. Once that is done we should be able to get jni4net to generate the bridge for these classes to make them available to the .Net side.
Really delete this comment?
Really delete this comment?
Really delete this comment?