Свойство создания Spring bean не является записываемым исключением при миграции на jre 1.8 - PullRequest
0 голосов
/ 08 октября 2018

Я получаю следующее исключение при создании компонента HazelCast.Это происходит, когда я меняю установленную версию JRE на jre 1.8.Однако в jre 1.6 мы не получаем ошибку.Есть ли какие-либо изменения, внесенные в jre 8, запрещающие использование таких конфигураций.

ОШИБКА:

Invalid property 'name' of bean class [com.hazelcast.config.TopicConfig]: Bean property 'name' is not writable or has an invalid setter method. Does the parameter type of the setter match the return type of the getter?

В setter свойства name из стороннего класса TopicConfig мы можем видеть, что он возвращает экземпляр TopicConfig и не является void возвращаемым типом.Есть ли какие-либо изменения в java 8, запрещающие настройку такого типа, когда сеттеры возвращают что-то

1 Ответ

0 голосов
/ 09 октября 2018

Это не ответ, а демонстрация кода.

Я попытался выполнить следующее (Java 1.8.0_181, Spring 4.3.0.RELEASE), он создает бин темы безвыпуск:

public static void main(String[] args) {
  ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
  ITopic topic = context.getBean("topic", ITopic.class);
}

spring.xml:

<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:hz="http://www.hazelcast.com/schema/spring"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans.xsd
    http://www.hazelcast.com/schema/spring
    http://www.hazelcast.com/schema/spring/hazelcast-spring-3.10.xsd">

  <hz:hazelcast id="instance">
    <hz:config>
        <hz:network port="5701" port-auto-increment="false">
            <hz:join>
                <hz:multicast enabled="false"/>
                <hz:tcp-ip enabled="true">
                    <hz:interface>127.0.0.1</hz:interface>
                </hz:tcp-ip>
            </hz:join>
        </hz:network>

        <hz:topic name="my-topic" />
    </hz:config>
  </hz:hazelcast>

  <hz:topic id="topic" instance-ref="instance" name="my-topic" />

</beans>
...