Свойство '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
намного более информативен, чем текущее сообщение об ошибке.