0 0

embedded ActiveMQ Broker,在别的项目中无法连接到broker。30

我使用嵌入式启动ActiveMQ Broker的方式启动Broker,服务端的配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

	<!-- embedded ActiveMQ Broker -->
	<amq:broker useJmx="true" persistent="true" brokerId="myBroker" brokerName="myBroker" start="true">
		<amq:persistenceAdapter>   
		    <amq:amqPersistenceAdapter directory="f:/amq"/> 
		</amq:persistenceAdapter>
		<amq:transportConnectors>
		    <amq:transportConnector uri="tcp://192.168.0.239:61616"/>
		</amq:transportConnectors>
		<amq:managementContext>
            <amq:managementContext connectorPort="2011" jmxDomainName="my-broker" connectorPath="/jmxrmi"/>
        </amq:managementContext>
	</amq:broker>

	<!-- ActiveMQ connectionFactory -->
	<amq:connectionFactory id="jmsConnectionFactory" brokerURL="tcp://192.168.0.239:61616"/>

	<!-- ActiveMQ destinations 使用Queue方式 -->
	<amq:queue name="destination" physicalName="JMS-TEST-QUEUE" />
	<!-- 使用topic方式 -->
	<!-- <amq:topic name="TOPIC" physicalName="JMS-TEST-TOPIC" /> -->

	<!--  Spring JmsTemplate config -->
	<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
		<property name="connectionFactory">
			<!--  lets wrap in a pool to avoid creating a connection per send -->
			<bean class="org.springframework.jms.connection.SingleConnectionFactory">
				<property name="targetConnectionFactory" ref="jmsConnectionFactory" />
			</bean>
		</property>
		<!-- custom MessageConverter -->
		<property name="messageConverter" ref="defaultMessageConverter" />
	</bean>
	
	<!-- converter  -->
	<bean id="defaultMessageConverter" class="com.pde.pdp.jms.service.DefaultMessageConverter" />
	
	<bean id="queueMessageProducer" class="com.pde.pdp.jms.service.QueueMessageProducer">
		<property name="template" ref="jmsTemplate" />
		<property name="destination" ref="destination" />
	</bean>
</beans> 

 

另一台机器上运行的客户端的配置文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:amq="http://activemq.apache.org/schema/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

	<!-- ActiveMQ connectionFactory -->
	<!-- tcp://192.168.0.239:61616 -->
	<amq:connectionFactory id="jmsConnectionFactory" brokerURL="tcp://192.168.0.239:61616" />
	
	<!-- ActiveMQ destinations 使用Queue方式 -->
	<amq:queue name="destination" physicalName="JMS-TEST-QUEUE"/>
	<!-- 使用topic方式 -->
	<!-- <amq:topic name="TOPIC" physicalName="JMS-TEST-TOPIC" /> -->

	<!--  Spring JmsTemplate config -->
	<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
		<property name="connectionFactory">
			<!--  lets wrap in a pool to avoid creating a connection per send -->
			<bean class="org.springframework.jms.connection.SingleConnectionFactory">
				<property name="targetConnectionFactory" ref="jmsConnectionFactory" />
			</bean>
		</property>
		<!-- custom MessageConverter -->
		<property name="messageConverter" ref="defaultMessageConverter" />
	</bean>
	
	<!-- converter  -->
	<bean id="defaultMessageConverter" class="com.activeMQ.service.DefaultMessageConverter" />
	
	<!-- consumer for queue -->
    <bean id="queueConsumer" class="com.activeMQ.service.QueueConsumer" />
	
    <bean id="queueListener" class="org.springframework.jms.listener.adapter.MessageListenerAdapter">
		<constructor-arg ref="queueConsumer" />
		<!--  may be other method -->
		<property name="defaultListenerMethod" value="receive" />
		<!-- custom MessageConverter define -->
		<property name="messageConverter" ref="defaultMessageConverter" />
	</bean>
	
	<bean id="someHandler" class="com.activeMQ.service.SomeHandler" />
	
	<bean id="queueListenerContainer" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
		<!-- <property name="pubSubNoLocal" value="true" />
		<property name="pubSubDomain" value="false" /> -->
		<property name="errorHandler" ref="someHandler"/>
		<property name="connectionFactory" ref="jmsConnectionFactory" />
		<property name="destination" ref="destination" />
		<property name="messageListener" ref="queueListener" />
		<property name="concurrentConsumers" value="1" /> <!-- 控制同时启几个监听的线程,这里设置几个咋控制台那边就可以监控到有几个消费者 -->
	</bean>
	
</beans> 

 

现在客户端那边报错,说无法创建连接 Could not connect to broker URL : tcp://192.168.0.239:61616 ,但是我用jmx监控的时候,看到的所有消息都是已经被消费掉了。我该怎么解决这个错误?


问题补充:客户端那边无法创建连接这个错误已经解决了,是因为我的客户端先启动了的问题。但是我用来接收消息的QueueConsumer类中的receive()方法接收不到消息,不知道是什么原因。我发送的消息是自定义的实体,可序列化。

问题补充:问题已解决,是我的DefaultMessageConverter代码写错了。
2013年3月11日 12:51
目前还没有答案

相关推荐

    ActiveMQ学习笔记之四--启动嵌入式Broker(纯代码方式)

    在本篇ActiveMQ学习笔记中,我们将探讨如何通过纯代码方式启动一个嵌入式的Broker,这对于测试、开发或者快速原型构建非常有用。ActiveMQ是一个开源的消息代理,它遵循Java消息服务(JMS)规范,提供了高可靠性的...

    ActiveMQ使用手册(中文版)

    - **定义:** 正确配置客户端连接到ActiveMQ Broker的URL。 - **注意事项:** 确保URL中的协议、主机名和端口号正确无误。 以上知识点全面覆盖了ActiveMQ的核心概念、配置细节、集群方式以及监控和使用注意事项等方面...

    paho.mqtt.embedded-c-master.zip_MQTT编程_c mqtt linux_mqtt_paho mq

    标题中的“paho.mqtt.embedded-c-master.zip”是一个开源项目,主要针对MQTT协议的C语言实现,名为Paho MQTT Embedded C。Paho是IBM和Oracle发起的一个开源项目,旨在提供一组支持多种开放标准的消息传递协议(如...

    firebird embedded 嵌入式——Spring hibernate 集成连接配置

    本文将详细介绍如何在Spring框架中集成Hibernate,并配置连接到Firebird Embedded数据库。 首先,让我们理解Spring和Hibernate的集成。Spring通过其HibernateTemplate或SessionFactoryBean提供对Hibernate的支持。...

    IAR Embedded Workbench for ARM中文用户指南.PDF

    在用户指南中,你将了解到以下关键知识点: 1. **安装与配置**:包括下载安装软件、设置开发环境、许可证管理等步骤,确保开发者能够顺利启动项目。 2. **项目管理**:如何创建、打开和管理项目,以及设置编译和...

    Embedded Browser.rar

    1. **安装与导入**:首先,你需要将"Embedded Browser.unitypackage"文件导入到Unity项目中。这可以通过Unity编辑器的"Assets" -&gt; "Import Package" -&gt; "Custom Package"菜单选项完成。确保选择包含所有所需资源和...

    对embedded matlab function的使用中文说明

    在 Embedded MATLAB Function 中,需要使用 %#eml 编译提示来告诉编辑器,下面的代码是按 Embedded MATLAB Subset 的语法编写的。这个编译提示可以提供明显地提示函数是按 Embedded MATLAB Subset 语法编译的,并且...

    Yocto Project and OpenEmbedded Training

    OpenEmbedded 和 Yocto 项目有着紧密的合作关系,其中 Yocto 项目实际上是基于 OpenEmbedded 的一个分支,旨在提供更易于使用的工具集。 #### 关键知识点详解 1. **BitBake**: - BitBake 是 Yocto 项目中用于...

    Windows Embedded从入门到精通系列课程(30):在Windows Embedded Standard开发中使用Component Designer

    在Windows Embedded Standard开发中,Component Designer是一个至关重要的工具,它为构建定制化操作系统提供了图形化的界面,使得开发者能够轻松地选择、配置和管理系统组件。本节课程将深入探讨Component Designer...

    Windows Embedded从入门到精通系列课程(35):WPF在Windows Embedded Standard中的应用

    而Windows Embedded Standard 2009是微软亍2008年10月正式发布的XP Embedded升级产品,在WES中,完美整合了.NET Framework 3.0及.NET Framework 3.5组件,标志着嵌入式XP对WPF的全面支持。本课程就是介绍如何在WES中...

    IAR.Embedded.Workbench入门中文教程

    IAR.Embedded.Workbench是一种很使用的编译器,编译效率高,编译后生成的文件小,附件编译器的中文教程,适合初学者使用!

    Embedded Browser 3.1.0_

    在Unity中使用Embedded Browser 3.1.0,首先需要将其导入到项目中。这通常涉及下载压缩包,解压后将包含的所有资源文件(如dll库、脚本、预设等)复制到Unity项目的Assets目录下。确保正确导入所有必要的文件,这是...

    Unity内嵌浏览器Embedded Browser 3.0.0

    Unity内嵌浏览器(Embedded Browser)是Unity引擎提供的一项功能,允许开发者在游戏或应用程序中集成一个Web浏览器组件。这个组件可以用来展示网页内容、实现在线交互或者作为游戏内的信息展示平台。Embedded ...

    delphi10.3 FireDac连接FireBird文件(Embedded嵌入式方式)

    在本文中,我们将深入探讨如何使用Delphi 10.3通过FireDAC连接到FireBird数据库,特别是使用Embedded(嵌入式)方式。 FireBird是一种开源的关系型数据库管理系统,具有轻量级、高性能和跨平台的特点。在嵌入式模式...

    Embedded Browser 2.1.0.zip

    首先,Embedded Browser是一个专门为Unity设计的插件,允许开发者在游戏或应用内部直接打开和操作网页,提供了一种无缝集成Web内容到Unity项目的解决方案。与Unity内置的WebPlayer相比,Embedded Browser更加灵活,...

    Windows Embedded从入门到精通系列课程(1):XP Embedded开发初体验

    通过这门课程,你将不仅获得理论知识,还将通过实际操作获得宝贵的实践经验,从而能够在各种嵌入式项目中灵活运用Windows Embedded XP Embedded。随着深入学习,你将进一步掌握系统优化、安全设置和远程管理等高级...

    Embedded Browser 3.1.0.zip

    接着,可以在项目中创建一个UI Canvas,并将内嵌浏览器组件添加到Canvas上,通过调整组件的属性来配置浏览器的行为。 为了充分利用内嵌浏览器插件,开发者需要掌握以下几个关键点: 1. **脚本控制**:通过编写C#...

    delphi10.3 FireDac连接MySQL文件(Embedded嵌入式方式)

    6. **处理错误**: 在连接或操作过程中,应捕获和处理可能出现的异常。使用try...except结构,对可能出现的错误进行适当处理。 7. **测试连接**: 在代码中或通过Delphi IDE的测试工具,如Form Designer中的按钮事件...

    QtEmbedded实例教程

    QtEmbedded可以运行在没有窗口管理器的系统上,提供了从底层驱动到应用程序的全套解决方案。 ### 2. 安装与配置 在开始开发前,你需要安装QtEmbedded SDK。这通常包括交叉编译工具链、Qt源码以及必要的库。配置...

    Windows Xp Embedded 安裝流程

    这一点又不同于 XPLite 或 nLite,XPLite 或 nLite 生成的只是简化版的 Windows XP,而 Windows XP Embedded 则最大限度的限制系统体积,主要应用在机顶盒、POS 机和手持机等嵌入式设备上。 在安装 Windows XP ...

Global site tag (gtag.js) - Google Analytics