Свойство 'service' требуется при переходе с Spring 2 на Spring 4

Этот контекст сервера работал нормально с Spring 2:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans https://www.springframework.org/schema/beans/spring-beans.xsd">
  <bean id="myService" class = "com.example.service.MyServiceFactory" factory-method="getInstance"/>

  <bean class="org.springframework.remoting.rmi.RmiServiceExporter">
    <property name="serviceName" value="MyService"/>
    <property name="service" ref="myService"/>
    <property name="serviceInterface" value="com.example.service.MyService"/>
    <property name="registryPort" value="1199"/>
  </bean>

</beans>

Однако, когда я переключаюсь на пружину 4.1.6-RELEASE, я получаю эту ошибку:

java.lang.IllegalArgumentException: Property 'service' is required
    at org.springframework.remoting.support.RemoteExporter.checkService(RemoteExporter.java:114)
    at org.springframework.remoting.rmi.RmiServiceExporter.prepare(RmiServiceExporter.java:239)
    at org.springframework.remoting.rmi.RmiServiceExporter.afterPropertiesSet(RmiServiceExporter.java:230)

Как я могу это исправить?

1 ответ

При обновлении до Spring 4 строка в MyServiceFactory.getInstance() завершается с ошибкой и возвращает ноль, следовательно, ошибка. Таким образом, с контекстом сервера все было в порядке, но эта ошибка не совсем не связана с Spring 4.

Я хотел бы, чтобы они могли сделать ошибку более очевидной, как сказать ERROR: Property "service" receives a null object намного более информативен, чем текущее сообщение об ошибке.

Другие вопросы по тегам