Это вопрос до this и использует this в качестве ссылки.Что я делаю неправильно, вводя эти весенние бобы? Использование Autowiring
Вот мой модифицированный spring-context.xml
<bean id="sampleApacheConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory" lazy-init="true">
<property name="brokerURL" value="tcp://localhost:61616"/>
<property name="userName" value=“kodeseeker"/>
<property name="password" value=“mypassword"/>
</bean>
<bean id="connectionFactory" class="org.springframework.jms.connection.CachingConnectionFactory">
<constructor-arg ref="sampleApacheConnectionFactory" />
</bean>
<!-- Default Destination Queue Definition-->
<bean id="defaultDestination" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg index="0" value="test.Foo"/>
</bean>
<!-- JmsTemplate Definition -->
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="defaultDestination" ref="defaultDestination" />
</bean>
<!-- Message Sender Definition -->
<bean id="messageSender" class="com.mypackage.Publisher2">
</bean>
<!-- Message Receiver Definition -->
<bean id="messageReceiver" class="com.mypackage.Listener">
</bean>
<bean class="org.springframework.jms.listener.SimpleMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destinationName" value="test.Foo" />
<property name="messageListener" ref="messageReceiver" />
</bean>
<context:component-scan base-package="com.mypackage" />
<bean name=“publisher" class=“com.mypackage.Publisher2"/>
<bean name="updateHandler" class="com.mypackage.UpdateHandlerImpl”/>
</beans>
и входящий класс, который первым получает запрос.
package com.mypackage
@ComponentScan
@Controller
@Path("/")
public class BaseApiImpl {
…..
@Context
HttpHeaders headers;
@Autowired
UpdateHandlerImpl updateHandler;
@PUT
@Path("v1/“)
@Consumes("application/json")
@Produces({ "application/json" })
public PutTransactionsResponse updateTransactions(
UpdateTransactionsRequest entity)
throws Exception {
// @formatter:on
LOGGER.entry();
try {
//updateHandler is always Null!
return updateHandler.handle(new UpdateTransactionsMessage(headers.getRequestHeaders(), entity));
} catch (Exception e) {
LOGGER.catching(e);
} finally {
LOGGER.exit();
}
}
Однако, несмотря на аннотирования класс с @Controller
и объявить бобы в файле контекста. Я считаю, что updateHandler
всегда равно нулю. Что именно я делаю неправильно здесь?
Обработчик обновление боб внутри который находится внутри другого тега ... Может быть, это вопрос –
Nadir
Да ваш контекст перепутались. Вы должны отформатировать его. – Stefan
Ваш фасоль - это фасоль JAX-RS, а не фасоль. У вас будет 2 экземпляра, которыми управляет одна весна, и один компонент jax-rs. Используйте правильную интеграцию для используемой структуры или используйте Spring MVC, чтобы разоблачить конечную точку отдыха. Также '@ ComponentScan' не будет работать над этим классом, что полезно только для классов' @ Configuration'. –