나는 Spring-hibernate-activeMq를 사용하여 프로젝트를 코딩했다.활성 mq ExceptionListener를 만드는 방법은 무엇입니까?
내가 알고 싶은 것은 내가 아래에서 설명한 것처럼 activeMq를 구성했다면 어떻게 예외 리스너 클래스를 구현해야 하는가? 나는 네가 잘 이해하지 못한다는 것을 알고 있지만, 아래의 나의 샘플을 한번 보아라.
예외 리스너를 올바르게 구현했는지 알려주세요. 그렇지 않다면 어떻게해야하는지 예를 들어주십시오. 미리 감사드립니다.
응용 프로그램 컨텍스트 : (나는 노력하고 있습니다 :
<bean id="connectionFactory"
class="org.springframework.jms.connection.CachingConnectionFactory"
depends-on="broker">
<constructor-arg ref="amqConnectionFactory"/>
<property name="reconnectOnException" value="true"/>
<property name="exceptionListener" ref="jmsExceptionListener"/>
<property name="sessionCacheSize" value="100"/>
</bean>
JMS 예외 리스너 클래스 (필자는 한 ConnectionFactory에의 재산을 제외하고 예외 청취자에 대한 빈을 선언하지 않았다 주) ConnectionFactory를 삽입하려면 가능한지 아닌지 확실하지 않습니다. 그리고 마지막으로 생성자 인수를 확인하십시오. 확실하지 않습니다 ..)
@Component("jmsExceptionListener")
public class JMSExceptionListener implements ExceptionListener {
private final static Logger logger = LoggerFactory.getLogger(JMSExceptionListener.class);
@Autowired
private CachingConnectionFactory connection;
// private Connection connection = null;
private ExceptionListener exceptionListener = null;
public JMSExceptionListener() {
}
public JMSExceptionListener(CachingConnectionFactory connection, ExceptionListener exceptionListener) {
super();
this.connection = connection;
this.exceptionListener = exceptionListener;
}
public void onException(JMSException arg0) {
logger.error("JMS exception has occured.. ", arg0);
if(connection != null){
connection.onException(arg0);
}
if (exceptionListener != null) {
exceptionListener.onException(arg0);
}
}
}