Closed masesdevelopers closed 4 months ago
The problem is strictly related to listeners and comes from many things:
Serializer<TJVMT>
, it inherits from MASES.JCOBridge.C2JBridge.JVMBridgeListener
because the .NET side shall be informed if JVM requests somethingSerializer
interface, not the listener JVM class, and cast it to .NET Serializer<TJVMT>
Serializer<TJVMT>
, by definition, has AutoInit
flag set to true, so it initialize an MASES.JCOBridge.C2JBridge.JVMBridgeListener
To avoid the problem the code shall be updated to:
SerializerDirect<TJVMT>
which:
Serializer<TJVMT>
AutoInit
and set it to falseBridgeClassName
and set its value to the JVM interface name e.g. org.apache.kafka.common.serialization.Serializer
SerDesDirect<TJVMT>
and within it allocate the SerializerDirect<TJVMT>
class
Describe the bug Allocation of https://github.com/masesgroup/KNet/blob/16b0b133224961e348885dd607ed31130fc5fa33/src/net/KNet/Specific/Serialization/SerDes.cs#L54 creates too many listener instances
To Reproduce Steps to reproduce the behavior:
Expected behavior Since the following https://github.com/masesgroup/KNet/blob/16b0b133224961e348885dd607ed31130fc5fa33/src/net/KNet/Specific/Serialization/SerDes.cs#L60 https://github.com/masesgroup/KNet/blob/16b0b133224961e348885dd607ed31130fc5fa33/src/net/KNet/Specific/Serialization/SerDes.cs#L61 https://github.com/masesgroup/KNet/blob/16b0b133224961e348885dd607ed31130fc5fa33/src/net/KNet/Specific/Serialization/SerDes.cs#L62 are used to send to the JVM references to serializer interfaces, no listeners shall be activated because .NET shall not react on event.
Screenshots
Desktop (please complete the following information):
Additional context N/A