Я использую аннотацию Coherence @PortableProperty
для аннотирования кешированных объектов для сериализации POF. Например:Странная ошибка от когерентности: «Для свойства необходимо указать индекс POF ...»
@Portable
public class Product implements Comparable<Product> {
@PortableProperty(0)
private String acronym;
// other properties and getters/setters ...
}
pof-config
выглядит следующим образом:
<?xml version="1.0"?>
<pof-config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.oracle.com/coherence/coherence-pof-config"
xsi:schemaLocation="http://xmlns.oracle.com/coherence/coherence-pof-config
http://xmlns.oracle.com/coherence/coherence-pof-config/1.2/coherence-pof-config.xsd">
<user-type-list>
<!-- include all "standard" Coherence POF user types -->
<include>coherence-pof-config.xml</include>
<user-type>
<type-id>1001</type-id>
<class-name>
com.xyz.Product
</class-name>
</user-type>
<!-- More user-type definitions -->
</user-type-list>
</pof-config>
Когда администратор сервера пытается развернуть мой ГАР, он получает следующее сообщение об ошибке:
An error occurred during activation of changes, please see the log for details. (Wrapped) (Wrapped: error creating class "com.tangosol.io.pof.ConfigurablePofContext") A POF Index must be specified for the property com.xyz.Product#acronym by specifying within the annotation or enabling autoIndexing on the Portable annotation
Но acronym
Недвижимость is аннотируется с индексом (0). Я даже декомпилировал файл .class из GAR, чтобы проверить, есть ли аннотация.
Любые идеи, которые могут вызывать ошибку при развертывании?
Пожалуйста, поделитесь своим pof-config.xml –
@ArkadiyVerman, я обновил вопрос с помощью моей pof-config –
не вижу никакой проблемы с вашими определениями, она выглядит так же в моей программе. единственное, что я могу предложить, это проверить флаги конфигурации, особенно Dtangosol.pof.config. –