首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如果没有spring配置,ActiveMQ组件如何使用连接池?

如果没有Spring配置,可以通过手动配置连接池来使用ActiveMQ组件。连接池可以提高连接的复用性和性能。

首先,需要引入ActiveMQ的相关依赖包,并在项目中添加相应的jar文件。

然后,在代码中创建一个连接池对象,可以使用Apache的Commons Pool库来实现连接池的功能。具体步骤如下:

  1. 导入相关的类和包:import org.apache.activemq.ActiveMQConnectionFactory; import org.apache.commons.pool2.ObjectPool; import org.apache.commons.pool2.impl.GenericObjectPool;
  2. 创建连接工厂对象:ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("tcp://localhost:61616");这里的参数可以根据实际情况进行配置,指定ActiveMQ的连接地址。
  3. 创建连接池对象:ObjectPool<Connection> connectionPool = new GenericObjectPool<>(new ConnectionFactoryPooledObjectFactory(connectionFactory));这里使用了GenericObjectPool类来实现连接池,需要传入一个ConnectionFactoryPooledObjectFactory对象作为参数。
  4. 定义连接池工厂类:import org.apache.commons.pool2.BasePooledObjectFactory; import org.apache.commons.pool2.PooledObject; import org.apache.commons.pool2.impl.DefaultPooledObject; public class ConnectionFactoryPooledObjectFactory extends BasePooledObjectFactory<Connection> { private ActiveMQConnectionFactory connectionFactory; public ConnectionFactoryPooledObjectFactory(ActiveMQConnectionFactory connectionFactory) { this.connectionFactory = connectionFactory; } @Override public Connection create() throws Exception { return connectionFactory.createConnection(); } @Override public PooledObject<Connection> wrap(Connection connection) { return new DefaultPooledObject<>(connection); } }这个类实现了BasePooledObjectFactory接口,并重写了create()方法和wrap()方法,用于创建连接和包装连接对象。
  5. 使用连接池获取连接:Connection connection = connectionPool.borrowObject();这里使用borrowObject()方法从连接池中获取一个连接对象。
  6. 使用连接对象进行消息发送和接收等操作:Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination destination = session.createQueue("queueName"); MessageProducer producer = session.createProducer(destination); TextMessage message = session.createTextMessage("Hello, ActiveMQ!"); producer.send(message);
  7. 使用完连接后,将连接对象归还给连接池:connectionPool.returnObject(connection);这里使用returnObject()方法将连接对象归还给连接池,以便复用。

需要注意的是,连接池的配置可以根据实际需求进行调整,例如最大连接数、最大空闲连接数、连接超时时间等。

推荐的腾讯云相关产品:腾讯云消息队列 CMQ

产品介绍链接地址:https://cloud.tencent.com/product/cmq

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Maven项目中常用jar包的坐标以及用法(个人总结)

使用方式 本文仅凭自己最近所学而总结,如有不足还望大家批评指正~~~ 首先来说,坐标的实现时基于Maven的,所以需要配置Maven的仓库以及配置文件.详情 Maven: https://blog.csdn.net...) 介绍 Druid(德鲁伊)是阿里巴巴开发的号称为监控而生的数据库连接池,Druid是目前最好的数据库连接池。...spring-beans beans是基本的jar。他包含访问配置文件,创建和管理bean,以及控制反转,注入操作的所有相关类。如果只用到Ioc/DI,则只需引入core与beans就足够了。...当然,如果你的应用使用了 独立的 MVC 框架,则无需这个 JAR 文件里的任何类。 spring-jdbc.jar 这个jar 文件包含对Spring 对JDBC 数据访问进行封装的所有类。...在 developerWorks 上其新系列的第一篇文章中,软件工程师Mark Kolb 向您展示了如何使用 JSTL 标记来避免在 JSP 页面中使用脚本编制元素。

3.2K11
  • Spring Boot整合ActiveMQ

    =admin spring.activemq.password=admin # 是否使用发布订阅模式,默认为false,即默认使用的是点对点模式 spring.jms.pub-sub-domain=true...=true # 连接池最大连接数配置 spring.activemq.pool.max-connections=50 根据上面的配置,Spring Boot会自动装配许多与ActiveMQ相关的对象,比如...验证复杂类型消息发送 前面的案例发送的是一个字符串消息,对于复杂类型的对象,如何进行发送呢?这里我们自定义一个POJO类,然后尝试使用jmsTemplate进行发送。...: # 如果需要发送Object对象消息,那么就需要配置信任的包,包内的所有对象都可以发送 spring.activemq.packages.trusted=cn.itlemon.springboot.activemq.pojo...,java.lang 如果需要加入所有的包到信任列表,可以将以上配置换成如下: spring.activemq.packages.trust-all=true 修改完之后,再次重启Spring Boot

    1.5K20

    作为一个Java架构师程序员 你应该会什么

    ,命令至少需要熟 悉:appletviewer、 HtmlConverter、jar、 java、 javac、javadoc、javap、 javaw、native2ascii、serialver,如果这些命令你没有全部使用过...◆熟练运用JDBC. 8)、java.security 包下40%以上的内容,如果对于安全 没有接触的话根本就不可能掌握java....◆AWT 的基本内容,包括各种组件事件、监听器、布局管理器、常用组件、 打印。 ◆Swing 的基本内容,和AWT 的要求类似。...3、如果没有工作经验,但基础非常扎实,对java工作机制,常用设计思想,常用java开发框架掌握熟练的,可以加群。 4、觉得自己很牛B,一般需求都能搞定。...启动ActiveMQ结合Spring的使用理解ActiveMQ的传输协议ActiveMQ消息持久化方式(jdbc/KahaDB/Memory)及特点ActiveMQ集群(静态网络连接、动态网络连接)ActiveMQ

    1.2K50

    SpringBoot最佳实践,它来了,它来了

    前言 上篇博文(SpringBoot自动配置原理,你真的懂吗?)我们详细的介绍了SpringBoot是如何完成自动配置功能的,以及具体的原理。...如果没有领悟使用精髓,下面我们一起来看一下(大佬请绕行): 什么是Starter? Starters是一组可以在应用程序中更加方便使用的依赖关系。...例如,如果您想开始使用Spring和JPA进行数据库访问,在项目中添加Spring-boot-starter-data-jpa依赖项即可。...结合使用JDBC和HikariCP连接池的入门 spring-boot-starter-json 读写JSON入门 spring-boot-starter-mail 使用Java Mail和Spring...自定义Bean或组件 对于特殊的bean与组件,我们可以通过自定义Bean的形式,使用注解@Bean @Componet,来覆盖默认的配置,已达到定制化的目的。

    96810

    【消息队列 MQ 专栏】消息队列之 ActiveMQ

    基本组件 ActiveMQ 使用时包含的基本组件各与 JMS 是相同的: Broker,消息代理,表示消息队列服务器实体,接受客户端连接,提供消息通信的核心服务。...其配置语法允许制定任意多个复合的 URI ,它会自动选择其中的一个 URI 来尝试建立连接,如果该连接没有成功,则会继续选择其它的 URI 来尝试。...持久化消息被发送到消息服务器后如果当前消息的消费者并没有运行则该消息继续存在,只有等到消息被处理并被消息消费者确认之后,消息才会从消息服务器中删除。...消费者接收到消息 Spring 整合 ActiveMQ 在实际项目中如果使用原生的 ActiveMQ API 开发显然比较啰嗦,这中间创建连接工厂、创建连接之类代码完全可以抽取出来由框架统一做,这些事情...ActiveMQ 完全支持基于 Spring 的方式 配置 JMS 客户端和服务器,下面的例子展示一下在 Spring 中如何使用队列模式和主题模式传递消息。

    6.5K00
    领券