Ignite Cache — хранение экстернализуемых объектов в двоичном виде на сервереJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Ignite Cache — хранение экстернализуемых объектов в двоичном виде на сервере

Сообщение Anonymous »

Мы пытаемся интегрировать Ignite Cache в наше решение в режиме клиент-сервер. Мы не хотим, чтобы все классы были реплицированы во все экземпляры Ignite, кроме того, в некоторых случаях невозможно заранее определить эти классы (например, пользовательские классы клиента).
Некоторые классы сохраняются в кеше являются сериализуемыми, а некоторые — внешними.
Согласно документации (и из журнала) мы видим, что сериализуемые классы хранятся на сервере как двоичные, а внешние — пытаются десериализоваться на сервере. сервер. Поскольку эти классы недоступны на сервере, мы получаем сообщение об ошибке (см. ниже).
Мы попытались установить для PeerClassLoadingEnabled значение true, а также протестировали все режимы развертывания, однако похоже, что удаленный Загрузка однорангового класса не работает для кеша. Также в документации:
https://ignite.apache.org/docs/latest/c ... ss-loading
Следующие комментарий существует:
Функция загрузки одноранговых классов не развертывает классы ключей и объектов записей, хранящихся в кэшах.
Мы также попытались используйте JdkMarshaller (настроил его как на клиенте, так и на сервере), однако похоже, что проблема сохраняется и объект пытается десериализоваться на сервере.
Поэтому: можно ли принудительно зажечь хранить как сериализуемые, так и внешние классы на сервере как двоичные и не пытаться их десериализовать (мы не можем реализовать Binaryizable для всех классов externalizable, поскольку некоторые из них не находятся под нашим контролем)? А в случае нет, есть ли возможность принудительно загружать одноранговые классы между узлами для кэша?
10:42:34,690 WARNING [org.apache.ignite.internal.binary.BinaryContext] (RMI TCP Connection(4)-127.0.0.1) Class "org.restcomm.cluster.ClusteredUUID" cannot be serialized using BinaryMarshaller because it either implements Externalizable interface or have writeObject/readObject methods. OptimizedMarshaller will be used instead and class instances will be deserialized on the server. Please ensure that all nodes have this class in classpath. To enable binary serialization either implement Binarylizable interface or set explicit serializer using BinaryTypeConfiguration.setSerializer() method.
10:42:34,696 WARNING [org.apache.ignite.internal.binary.BinaryContext] (RMI TCP Connection(4)-127.0.0.1) Class "org.restcomm.cluster.ClusteredUUID" cannot be serialized using BinaryMarshaller because it either implements Externalizable interface or have writeObject/readObject methods. OptimizedMarshaller will be used instead and class instances will be deserialized on the server. Please ensure that all nodes have this class in classpath. To enable binary serialization either implement Binarylizable interface or set explicit serializer using BinaryTypeConfiguration.setSerializer() method.
10:42:34,713 INFO [org.apache.ignite.internal.managers.deployment.GridDeploymentLocalStore] (sys-stripe-5-#6%08306b50-6ac3-11eb-8e3a-0a0000a633b8%) Class locally deployed: class org.apache.ignite.IgniteCheckedException
10:42:34,713 INFO [org.apache.ignite.internal.managers.deployment.GridDeploymentLocalStore] (sys-stripe-5-#6%08306b50-6ac3-11eb-8e3a-0a0000a633b8%) Class locally deployed: class org.apache.ignite.binary.BinaryObjectException
10:42:34,714 INFO [org.apache.ignite.internal.managers.deployment.GridDeploymentLocalStore] (sys-stripe-5-#6%08306b50-6ac3-11eb-8e3a-0a0000a633b8%) Class locally deployed: class org.apache.ignite.IgniteException
10:42:34,717 INFO [org.apache.ignite.internal.managers.deployment.GridDeploymentLocalStore] (sys-stripe-5-#6%08306b50-6ac3-11eb-8e3a-0a0000a633b8%) Class locally deployed: class [Ljava.lang.StackTraceElement;
10:42:34,718 ERROR [stderr] (RMI TCP Connection(4)-127.0.0.1) class org.apache.ignite.IgniteException: Failed to unmarshal object with optimized marshaller
10:42:34,719 ERROR [stderr] (RMI TCP Connection(4)-127.0.0.1) at org.apache.ignite.internal.processors.cache.GridCacheAdapter.containsKey(GridCacheAdapter.java:697)
10:42:34,719 ERROR [stderr] (RMI TCP Connection(4)-127.0.0.1) at org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.containsKey(IgniteCacheProxyImpl.java:1252)
10:42:34,719 ERROR [stderr] (RMI TCP Connection(4)-127.0.0.1) at org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.containsKey(GatewayProtectedCacheProxy.java:796)


Подробнее здесь: https://stackoverflow.com/questions/661 ... -on-server
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»