TOMCAT ACTIVEMQ连接池
时间: 2024-11-28 16:12:53 浏览: 22
TOMCAT与ACTIVEMQ之间的连接池配置通常涉及到Apache ActiveMQ的客户端库管理和权限设置,以及Tomcat中的JNDI(Java Naming and Directory Interface)配置。
1. **添加依赖**[^1]:
在ActiveMQ的Lib目录下添加MySQL的驱动jar文件(如mysql-connector-Java-*.jar),以便支持与MySQL的交互。
2. **MySQL数据库访问权限**:
使用SQL语句授予ActiveMQ用户对activemqdb数据库的全部权限:
```sql
grant all on activemqdb.* to "activemq"@"%" identified by "activemq.123";
```
这里`%`表示允许从任何来源连接,`activemq.123`是给定的密码。
3. **在Tomcat中配置连接池**:
- 在ActiveMQ的配置文件中(如activemq.xml),创建一个JDBC连接池,指定MySQL的URL、用户名和密码,以及连接池大小等参数。
```xml
<!-- JDBC Connection Pool -->
<bean id="jmsDataSource" class="org.apache.activemq.pool.PooledConnectionFactory">
<property name="connectionFactory" ref="pooledConnectionFactory"/>
<property name="dataSource" ref="jndiDataSource"/>
</bean>
<!-- JNDI Data Source for MySQL -->
<bean id="jndiDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost/activemqdb"/>
<property name="username" value="activemq"/>
<property name="password" value="activemq.123"/>
<!-- other properties like maxActive, maxIdle, etc -->
</bean>
```
4. **在Tomcat的资源上下文中注册JNDI名称**:
在Tomcat的server.xml中,通过 `<Resource>` 标签注册JNDI名称供应用访问:
```xml
<Resource name="jms/jdbc/activemqDS"
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.naming.factory.BeanFactory"
description="JMS JDBC DataSource"
username="activemq"
password="activemq.123"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost/activemqdb"/>
```
阅读全文