Hello, me ; again...
I continue to replace Hazelcast by ignite in my code.
I have to use Queues, and sometime, tere some things I don't understand in the
Ignite code.
Well, In my case, I have multiple objects to push in Queues.
Each of its have its own Queues.But this object are "primary keys" of others,
declared as inner class with same class name :
Example :
* com.test.ObjectA$PK
* com.test.ObjectB$PK
These classes are different, but for Ignite there are the same.
Let me explain, in the code, when I add the object in the Q, the code is going
threw BinaryContext.java :
private BinaryClassDescriptor registerUserClassDescriptor(Class<?> cls, boolean
deserialize) {
boolean registered;
String typeName = typeName(cls.getName());
typeName remove everything and get "PK" only.
So some lines after in the code I got a duplicate ID exception because of same
hashcode.
So I had to rename It and extract its to not be inner class.
And more of that only the "simpleName" is taken (substring with lastindexof
'.')... So we can't have class with same name in different package stored in
Queues.
It sould be a good idea to get the fullName of the class, No ? Why do this type
of things ?
Regards.
This message and any attachments (the "message") is
intended solely for the intended addressees and is confidential.
If you receive this message in error,or are not the intended recipient(s),
please delete it and any copies from your systems and immediately notify
the sender. Any unauthorized view, use that does not comply with its purpose,
dissemination or disclosure, either whole or partial, is prohibited. Since the
internet
cannot guarantee the integrity of this message which may not be reliable, BNP
PARIBAS
(and its subsidiaries) shall not be liable for the message if modified, changed
or falsified.
Do not print this message unless it is necessary,consider the environment.
----------------------------------------------------------------------------------------------------------------------------------
Ce message et toutes les pieces jointes (ci-apres le "message")
sont etablis a l'intention exclusive de ses destinataires et sont confidentiels.
Si vous recevez ce message par erreur ou s'il ne vous est pas destine,
merci de le detruire ainsi que toute copie de votre systeme et d'en avertir
immediatement l'expediteur. Toute lecture non autorisee, toute utilisation de
ce message qui n'est pas conforme a sa destination, toute diffusion ou toute
publication, totale ou partielle, est interdite. L'Internet ne permettant pas
d'assurer
l'integrite de ce message electronique susceptible d'alteration, BNP Paribas
(et ses filiales) decline(nt) toute responsabilite au titre de ce message dans
l'hypothese
ou il aurait ete modifie, deforme ou falsifie.
N'imprimez ce message que si necessaire, pensez a l'environnement.