gpt4 book ai didi

java - 有关 Spring 和 JMS 的帮助。我正在尝试使用 spring 设置一个简单的发布者?

转载 作者:行者123 更新时间:2023-12-02 00:42:31 25 4
gpt4 key购买 nike

所以我有以下发布者:

import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.Session;
import javax.jms.Topic;

import org.springframework.jms.core.MessageCreator;
import org.springframework.jms.core.JmsTemplate;

public class JmsTopicSender {

private JmsTemplate jmsTemplate;
private Topic topic;

public void setTopic(Topic topic) {
this.topic = topic;
}

public void simpleSend() {
this.jmsTemplate.send(this.topic, new MessageCreator() {
public Message createMessage(Session session) throws JMSException {
return session.createTextMessage("hello Topic");
}
});
}
}

所以我现在陷入了设置 bean 声明的困境。我知道我需要一个 JMSTemplate:

<bean id="jms-template" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connection-factory" />
<property name="defaultDestination" ref="destination" />
</bean>

但我不知道如何设置连接工厂或目标。 spring 文档中甚至没有示例。

最佳答案

您的连接工厂可以是独立的:

<bean id="connection-factory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:12345"/>
</bean>

或者您可以从 JNDI 检索它:

<jee:jndi-lookup id="connection-factory" jndi-name="jms/ConnFactory"/>

您的目的地也是如此:

<bean:id="myQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="queue.my"/>
</bean>

<jee:jndi-lookup id="myQueue" jndi-name="jms/MyQueue"/>

关于java - 有关 Spring 和 JMS 的帮助。我正在尝试使用 spring 设置一个简单的发布者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5948691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com