2015-05-29 2 views
0

Мне нужна помощь в моем приложении OEP. Я пытаюсь преобразовать входящее сообщение jms, используя мой собственный компонент-конвертер. Но при развертывании я получаю следующее исключение.IllegalArgumentException конвертер-компонент MessageConverter не реализует InboundMessageConverter

Исключение в потоке "SpringOsgiExtenderThread-171" org.springframework.beans.FatalBeanException: Ошибка в контекст инициализации жизненного цикла; вложенное исключение java.lang.IllegalArgumentException: конвертер боб MessageConverter не реализует InboundMessageConverter на com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent (ApplicationContextLifecycle.java:146) на org.springframework.context.event. SimpleApplicationEventMulticaster.multicastEvent (SimpleApplicationEventMulticaster.java:97) на org.springframework.context.support.AbstractApplicationContext.publishEvent (AbstractApplicationContext.java:324) на org.springframework.context.support.AbstractApplicationContext.finishRefresh (AbstractApplicationContext.java: 929) по адресу: org.springframework.osgi.context.suppor t.AbstractOsgiBundleApplicationContext.finishRefresh (AbstractOsgiBundleApplicationContext.java:235) в org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext $ 4.run (AbstractDelegatedExecutionApplicationContext.java:358) в org.springframework.osgi.util.internal.PrivilegedUtils .executeWithCustomTCCL (PrivilegedUtils.java:85) на org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.completeRefresh (AbstractDelegatedExecutionApplicationContext.java:320) на org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor $ CompleteRefreshTask.run (DependencyWaiterApplicationContextExecutor.java:136) at ja va.lang.Thread.run (Thread.java:745) Вызвано: java.lang.IllegalArgumentException: конвертер-компонент MessageConverter не реализует InboundMessageConverter на com.bea.wlevs.adapters.jms.InboundJmsAdapter.initialize (InboundJmsAdapter .java: 122) на com.bea.wlevs.adapters.jms.InboundJmsAdapter.beforeResume (InboundJmsAdapter.java:228) в com.bea.wlevs.adapters.jms.InboundJmsAdapter $$ FastClassByCGLIB $$ fc18e7ee.invoke() в net.sf.cglib.proxy.MethodProxy.invoke (MethodProxy.java:149) в org.springframework.aop.framework.Cglib2AopProxy $ CglibMethodInvocation.invokeJoinpoint (Cglib2AopProxy.java:689) в org.springframework .aop.framework.Reflective MethodInvocation.proceed (ReflectiveMethodInvocation.java:150) на com.bea.wlevs.ede.impl.EventManagerAccessorProxy.invoke (EventManagerAccessorProxy.java:30) на org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation. Java: 172) на com.bea.wlevs.ede.impl.EventBeanProxy.invoke (EventBeanProxy.java:38) на org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:172) на org.springframework.aop.framework.Cglib2AopProxy $ DynamicAdvisedInterceptor.intercept (Cglib2AopProxy.java:622) at com.bea.wlevs.adapters.jms.InboundJmsAdapter $$ En hancerByCGLIB $$ fbc02af8.beforeResume() at com.bea.wlevs.spring.ActivationBeanPostProcessor.preProcessBeforeContextResume (ActivationBeanPostProcessor.Java: 27) в com.bea.wlevs.spring.DeferredBeanPostProcessor.beforeResume (DeferredBeanPostProcessor.java:33) в com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent (ApplicationContextLifecycle.java:120) ... 9 более

Мой класс выглядит следующим образом ...

import com.bea.wlevs.adapters.jms.api.InboundMessageConverter; import com.bea.wlevs.adapters.jms.api.MessageConverterException; import com.bea.wlevs.adapters.jms.api.OutboundMessageConverter; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.Session; import javax.jms.TextMessage; import java.util.ArrayList; import java.util.List; 

public class MessageConverter implements InboundMessageConverter, OutboundMessageConverter{ 
    public List<TestEvent> convert(Message message) throws MessageConverterException, JMSException { 
     TestEvent event = new TestEvent(); 
     TextMessage textMessage = (TextMessage) message; 
     event.setString_1(textMessage.getText()); 
     List<TestEvent> events = new ArrayList<TestEvent>(1); 
     events.add(event); 
     return events; 
    } 
    public List<Message> convert(Session session, Object inputEvent) throws MessageConverterException, JMSException { 
     TestEvent event = (TestEvent) inputEvent; 
     TextMessage message = session.createTextMessage("Text message: " + event.getString_1()); 
     List<Message> messages = new ArrayList<Message>(); 
     messages.add(message); 
     return messages; 
    } } 

ответ

0

вы добавили «com.bea.wlevs.adapters.jms.api» в разделе «Импорт-пакет» МАНИФЕСТЕ .MF-файл?

HTH

 Смежные вопросы

  • Нет связанных вопросов^_^