createSession(paramA,paramB);
paramA 取值有 : true or false 表示是否支持事务
paramB 取值有:Session.AUTO_ACKNOWLEDGE,Session.CLIENT_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE,SESSION_TRANSACTED
createSession(paramA,paramB);
paramA是设置事务的,paramB设置acknowledgment mode
paramA设置为false时:paramB的值可为Session.AUTO_ACKNOWLEDGE,Session.CLIENT_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE其中一个。
paramA设置为true时:paramB的值忽略, acknowledgment mode被jms服务器设置为SESSION_TRANSACTED 。
Session.AUTO_ACKNOWLEDGE为自动确认,客户端发送和接收消息不需要做额外的工作。
Session.CLIENT_ACKNOWLEDGE为客户端确认。客户端接收到消息后,必须调用javax.jms.Message的acknowledge方法。jms服务器才会删除消息。
DUPS_OK_ACKNOWLEDGE允许副本的确认模式。一旦接收方应用程序的方法调用从处理消息处返回,会话对象就会确认消息的接收;而且允许重复确认。在需要考虑资源使用时,这种模式非常有效。
分享到:
相关推荐
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 获取队列 Queue queue = (Queue) context.lookup("queueName"); // 创建消息生产者 MessageProducer producer = ...
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 获取队列目的地 Queue queue = (Queue) context.lookup("queue/testQueue"); // 创建消息生产者 MessageProducer ...
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); ``` ##### 5.4 创建Destination 指定消息的目标目的地,即队列或主题。 ```java Destination destination = session.createQueue...
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 获取或创建队列 Queue queue = session.createQueue("myQueue"); // 创建消息生产者 MessageProducer producer = session....
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 创建消息生产者 Destination destination = session.createQueue("TestQueue"); MessageProducer producer = session....
2. 授予必要的权限:`SQL> grant create session, create any queue, manage any queue, create any capture, manage any capture, create any apply, manage any apply, create any consumer group, manage any ...
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 创建Topic Topic topic = session.createTopic("MyTopic"); // 创建Producer MessageProducer producer = session....
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(session.createQueue("TestQueue")); TextMessage message = session....
- **创建连接与会话**:通过ConnectionFactory创建Connection,然后调用Connection的createSession方法创建Session。 - **创建消息生产者与消费者**:在Session上创建MessageProducer和MessageConsumer,分别用于...
Destination destination = session.createQueue("TestQueue"); ``` 4. **发送消息**:使用Producer发送消息至指定的Destination。示例代码如下: ```java MessageProducer producer = session.createProducer...
### Spring与JMS结合实例详解 #### 一、引言 在现代企业级应用开发中,消息中间件作为实现系统间解耦、提高系统稳定性的关键组件被广泛应用。Java消息服务(Java Message Service, JMS)是Java平台中关于面向消息...
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); ``` ##### 会话(Session) `JMSSession`接口是一个单线程上下文,用于创建消息生产者、消费者以及消息本身。会话还可以提供事务...
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); Queue queue = session.createQueue("myQueue"); // 替换为你的队列名称 MessageProducer producer = session.createProducer...
4. 创建会话:使用`createSession()`方法,参数可以设置为`false`表示非事务性会话,`Session.AUTO_ACKNOWLEDGE`表示自动确认消息。 5. 创建生产者和消费者:使用会话创建`MessageProducer`和`MessageConsumer`。 6....
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 创建消息生产者 MessageProducer producer = session.createProducer(session.createQueue("MyQueue")); // 创建并发送消息 ...
EJB组件分为三种类型:会话bean(Session Beans)、实体bean(Entity Beans)和消息驱动bean(Message-driven Beans)。其中,会话bean用于处理业务逻辑,实体bean用于表示数据库中的持久化对象,而消息驱动bean则...
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); ``` 在`setupConsumer`方法中,通过`session.createConsumer(queue)`创建了一个消费者,用于消费队列中的消息。同时,设置了消息监听器`...
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 创建目的地 Destination destination = session.createQueue("MyQueue"); // 或 session.createTopic("MyTopic"); // 创建...
3. **消息驱动Bean(Message-Driven Bean,MDB)**:消息驱动Bean设计用于处理JMS(Java Message Service)消息,通常用于处理异步请求。当接收到消息时,MDB会自动触发,处理完成后,可以与其他EJB组件进行交互,...