0

我创建了一个 jms 端点,并能够从客户端宽度调用它,即 spring xml 文件中的 camel:proxy。现在我希望能够在不使用 Spring/Camel 代理的情况下直接调用 JMS 端点。我想通过 URL 调用它。

我怎样才能做到这一点

谢谢

4

2 回答 2

1

您可以使用 Camel 中的 ProducerTemplate API 向任何类型的 Camel 端点/组件发送消息。

详见:http ://camel.apache.org/producertemplate.html

于 2013-02-18T17:07:37.273 回答
1

骆驼队列可以发布到使用以下

public DirectJMSRemotingClient() throws JMSException {
    factory = new ActiveMQConnectionFactory(brokerURL);
    connection = factory.createConnection();
    connection.start();
    session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
    Destination destination = session.createQueue("queueName");
    producer = session.createProducer(destination);
}

public void sendMessage() throws JMSException {

    TextMessage myTextMsg = session.createTextMessage();

    myTextMsg.setText("Hello World");
    System.out.println("Sending Message: " + myTextMsg.getText());
    producer.send(myTextMsg);
}

public static void main(String[] args) throws Exception {
    DirectJMSRemotingClient client = new DirectJMSRemotingClient();
    client.sendMessage();
}    

并且 Route 可以像这样在骆驼中定义

    <route>
        <from uri="jms:queue:queueName" />
        <setExchangePattern pattern="InOut" />
        <to uri="seda:camel-handler" />
    </route>
于 2013-02-19T14:32:09.553 回答