mule появляется ошибка noSuchmethod для activemq .. также добавлен файл activemq-all-5.13.3.jar в путь сборки. помогите мне решить эту проблему

Я очень новичок в mule и activemq. но я делаю poc на mule activemq в своей компании. вот моя проблема в том, что я скачал apache-activemq-5.13.3. и запустил и также открыл админский интерфейс activemq. так что он работает. но когда я делаю простой пример с отправителем и получателем очереди в муле, я получаю ошибку как ошибку noSuchmethod. Я также добавил файл activemq-all-5.13.3.jar в путь сборки. помогите мне решить эту проблему

вот мой журнал ошибок

ОШИБКА 2016-05-26 12: 19: 05,786 [[queue_test] .TCP.receiver.02] org.mule.exception.DefaultMessagingExceptionStrategy:


Сообщение :

org.apache.activemq.ActiveMQMessageProducerSupport.getDestination () Ljavax / jms / Destination; (java.lang.NoSuchMethodError). Полезные данные сообщения имеют тип: ActiveMQBytesMessage Тип: org.mule.api.MessagingException Код: MULE_ERROR - 2 Полезные данные: ActiveMQBytesMessage {commandId = 0, responseRequired = false, messageId = null, originalDestination = null, originalTransactionId = null, ProducerId = null destination = null, transactionId = null, expiration = 0, timestamp = 0, прибытие = 0, brokerInTime = 0, brokerOutTime = 0, correlationId = null, replyTo = null, persistent = false, type = null, priority = 0, groupID = нуль, groupSequence = 0, targetConsumerId = NULL, прессуют = ложь, идентификатор пользователя = NULL, содержание = NULL, marshalledProperties = NULL, структура данных = NULL, redeliveryCounter = 0, размер = 0, свойства = {MULE_SESSION = rO0ABXNyACNvcmcubXVsZS5zZXNzaW9uLkRlZmF1bHRNdWxlU2Vzc2lvbi7rdtEW7GGKAwAFWgAFdmFsaWRMAA1mbG93Q29uc3RydWN0dAAmTG9yZy9tdWxlL2FwaS9jb25zdHJ1Y3QvRmxvd0NvbnN0cnVjdDtMAAJpZHQAEkxqYXZhL2xhbmcvU3RyaW5nO0wACnByb3BlcnRpZXN0AA9MamF2YS91dGlsL01hcDtMAA9 zZWN1cml0eUNvbnRleHR0ACdMb3JnL211bGUvYXBpL3NlY3VyaXR5L1NlY3VyaXR5Q29udGV4dDt4cAFwdAAkZjA1MDI0ZjItMjMwZC0xMWU2LTlkOWUtZTY1ZTIwNTI0MTUzc3IAJWphdmEudXRpbC5Db2xsZWN0aW9ucyRTe ... JavaDoc: Http: // WWW .mulesoft.org / docs / site / current3 / apidocs / org / mule / api / MessagingException.html.


Стек исключения:

  1. # P7 #
  2. # P8 #

Трассировка стека корневого исключения:

java.lang.NoSuchMethodError: org.apache.activemq.ActiveMQMessageProducerSupport.getDestination () Ljavax / jms / Destination; по адресу org.apache.activemq.ActiveMQMessageProducerSupport.send (ActiveMQMessageProducerSupport.java:269) по адресу org.mule.transport.jms.Jms102bSupport.send (Jms102bSupport.java:266mspatch.java:266mspatch.java: .java: 185) в org.mule.transport.jms.JmsMessageDispatcher.doDispatch (JmsMessageDispatcher.java:77) в org.mule.transport.AbstractMessageDispatcher.process (AbstractMessageDispatcher.java:107


person iam siva46    schedule 26.05.2016    source источник
comment
я нашел ответ где-то прочитал. Я добавил последний файл j2ee jar в путь сборки в mule anypoint studio .. я не знаю, как это работает сейчас .. может кто-нибудь объяснить, в каких сценариях мы получим эту ошибку ..   -  person iam siva46    schedule 26.05.2016
comment
обновил ответ для получения дополнительных разъяснений   -  person AnupamBhusari    schedule 01.06.2016


Ответы (1)


Это решило проблему, так как вы обновили последнюю версию J2EE jar. Этот метод getDestination () определен в классе MessageProducer jar-файла javax.jms.

JMS jar до версии 1.1 не имеет определенного метода getDestination (). См. Исходный код javax.jms 1.0 jar. В последней банке определен этот метод.

package javax.jms;

public abstract interface MessageProducer
{
  public abstract void close()
    throws JMSException;

  public abstract int getDeliveryMode()
    throws JMSException;

  public abstract boolean getDisableMessageID()
    throws JMSException;

  public abstract boolean getDisableMessageTimestamp()
    throws JMSException;

  public abstract int getPriority()
    throws JMSException;

  public abstract long getTimeToLive()
    throws JMSException;

  public abstract void setDeliveryMode(int paramInt)
    throws JMSException;

  public abstract void setDisableMessageID(boolean paramBoolean)
    throws JMSException;

  public abstract void setDisableMessageTimestamp(boolean paramBoolean)
    throws JMSException;

  public abstract void setPriority(int paramInt)
    throws JMSException;

  public abstract void setTimeToLive(long paramLong)
    throws JMSException;
}

Надеюсь это поможет.

person AnupamBhusari    schedule 01.06.2016