Weblogic JMS

简介

全称:WebLogic Server的Java Messaging Service(JMS)
WebLogic JMS 是与 WebLogic Server 平台紧密集成的企业级消息传递系统。
Java Message Service (JMS) API 是一种消息传递标准,允许基于 Java Platform Enterprise Edition (Java EE) 的应用程序组件创建、发送、接收和读取消息。它实现了松散耦合、可靠和异步的分布式通信。

JMS 的具体功能包括

  • 可在共享消息系统的 Java 应用程序之间交换消息
  • 用于创建、发送和接收消息的标准接口便于应用程序开发

JMS 支持两种消息传递模式:点对点 (PTP) 和发布/订阅。
WebLogic JMS 服务器架构的关键组件包括

  • 可托管一组预定义模块及其相关持久存储(位于 WebLogic Server 实例中)的 JMS 服务器。
  • 配置资源(查询、主题、连接工厂等),包括根据 http://xmlns.oracle.com/weblogic/weblogic-jms/1.4/weblogic-jms.xsd架构XML文档定义的JMS模块。
  • 客户端 JMS 应用程序。 向目的地生成消息或从目的地消费消息。
  • Java 命名和目录接口 (JNDI),提供资源查找功能。 JNDI 名称用于 JMS 资源(如连接工厂和目的地)的配置。
    这些资源的运行时实现使用特定名称绑定到 JNDI。
  • WebLogic 持久存储(文件存储或支持 JDBC 的数据库)用于存储持久消息数据。

后文介绍如何配置JMS以及使用对应API实现送收信息。

创建持久存储

WebLogic Console ->Services->Persistent Stores,中新建FileStore
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

创建JMS server

webLogic Console->Servcies->Messaging->JMS Servers新建JMS Server
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置消息通信JNDI

Servcies->Messaging->JMS Modules中新建JMS 模块
在这里插入图片描述
在这里插入图片描述
配置文件具体保存位置参考如下
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
进入新追加的JMS模块,在Subdeployments 中新建Subdeployment
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述进入新追加的jms_test_module2的Configuration中,新建资源。
在这里插入图片描述
资源类型选择连接工厂
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
继续新建资源,这次选择队列
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
继续新建资源,这次选择Topic
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

送收信代码实装

队列送信

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Hashtable;

import javax.jms.*;
import javax.naming.*;

public class QueueMsgSender {
   

    private final static String JNDI_FACTORY = "weblogic.jndi.WLInitialContextFactory";
    private final static String PROVIDER_URL = "t3://192.168.56.106:7001";
    private final static String JMS_FACTORY = "jms/jms_test_connection_factory1";
    private final static String JNDI_QUEQUE = "jms/jms_test_queue";

    private QueueConnectionFactory connectionFactory;
    private QueueConnection queueCon;
    private QueueSession qSession;
    private Queue queue;
    private QueueSender sender;
    private ObjectMessage objectMessage;

    public void init(Context ctx, String queueName)
      throws NamingException, JMSException {
   
        connectionFactory = (QueueConnectionFactory) ctx.lookup(JMS_FACTORY);
        queueCon = connectionFactory.createQueueConnection();
        //false: 将会话标记为非事务性的.非事务性的会话会立即发送消息。
        //Session.AUTO_ACKNOWLEDGE: 表示当客户端成功的从receive方法返回后,或者是在消息监听器成功返回后,会话会自动确认消息的接收
        qSession = queueCon.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
        //通过JNDI查找送信目标队列
        queue = (Queue)ctx.lookup(queueName);
         //使用会话和目标(队列)创建消息生产者(队列发送者)的引用
        sender = qSession.createSender(queue);

         //开始连接
        queueCon.start();
    }

    public void sendMsg(String msg) throws JMSException {
   
        User user = new User();
        user.setName(msg);
        user.setAge(18);
        objectMessage = qSession.createObjectMessage();
        objectMessage.setObject(user);
        sender.send(objectMessage);
    }

    public void readAndSend() throws IOException, JMSException {
   
        BufferedReader msgStream = new BufferedReader(new InputStreamReader(System.in));
        boolean quitNow = false;
        do {
   
            System.out.print("Enter message (\"quit\" to quit): \n");
            String line = msgStream.readLine();
            if (line != null && line.trim(

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/576416.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于STC12C5A60S2系列1T 8051单片机正常模式或移位模式控制数码管某位闪烁后单击长按增加或减少数值应用

基于STC12C5A60S2系列1T 8051单片机正常模式或移位模式控制数码管某位闪烁后单击长按增加或减少数值应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍基于STC12C5A6…

MySQL Workbench 数据库常用操作

大家好哦,我是程序员徐师兄,今天为大家打来的是MySQL Workbench 数据库常用操作。 文章目录 一、连接数据库二、进入数据库三、创建数据库四、设置默认数据库五、创建数据表六、查看表数据七、查看数据表 一、连接数据库 二、进入数据库 三、创建数据库 …

【Leetcode】vector刷题

🔥个人主页:Quitecoder 🔥专栏:Leetcode刷题 目录 1.只出现一次的数字2.杨辉三角3.删除有序数组中的重复项4.只出现一次的数字II5.只出现一次的数字III6.电话号码的字母组合 1.只出现一次的数字 题目链接:136.只出现一…

vivado 创建和运行链路清扫

创建和运行链路清扫 要分析给定链路的裕度 , 利用不同 MGT 设置来多次运行链路扫描是很有效的。这样有助于判定最佳设置。 Vivado Serial I/O Analyzer 功能支持您定义、运行、保存和重新调用链路清扫 , 链路清扫是由多次链路扫描集合而成的。 每条…

C++之STL-list+模拟实现

目录 一、list的介绍和基本使用的方法 1.1 list的介绍 1.2 list的基本使用方法 1.2.1 构造方法 1.2.2 迭代器 1.2.3 容量相关的接口 1.2.4 增删查改的相关接口 1.3 关于list迭代器失效的问题 二、模拟实现list 2.1 节点类 2.2 迭代器类 2.3 主类list类 2.3.1 成员变…

软件设计师-重点的创建型设计模式

一、简单工厂: 简单工厂模式属于创建型模式,但不属于23种设计模式之一。 软考中图 二、工厂方法: 意图: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method 使一个类的实例化延迟到其子类。 结…

光度立体法估计法线与反射率重建场景

1 从明暗恢复形状 从明暗恢复形状(Shape from Shading,SfS)是指从图像的明暗信息推断出物体表面几何形状的过程。这个问题假设光照条件已知,目标表面是光滑且均匀的,并且照明是单向的。其基本思想是根据目标表面对光照…

计算机组成原理实验(一)--可控加减法电路设计实验

一、一位全加器的设计 视频学习链接:3-2-4 定点数的加法和减法运算 — 一位全加器的硬件逻辑实现_哔哩哔哩_bilibili 仿真电路图: 总结:奇数个1时Si输出为1,偶数个1输出为0;1的个数大于等于2时,Ci输出1 实…

Kafka 3.x.x 入门到精通(05)——对标尚硅谷Kafka教程

Kafka 3.x.x 入门到精通(05)——对标尚硅谷Kafka教程 2. Kafka基础2.1 集群部署2.2 集群启动2.3 创建主题2.4 生产消息2.5 存储消息2.6 消费消息2.6.1 消费消息的基本步骤2.6.2 消费消息的基本代码2.6.3 消费消息的基本原理2.6.3.1消费者组2.6.3.1.1 消费…

【优秀AI项目】每日跟踪 OpenVoice ,AI快站,OpenVoice

持续更新好玩的开源AI项目或AI商业应用体验 一起来玩转AI!! 1 huggingface 国内镜像站:AI 快站 HUggingface被墙了,emmmmm 所以我之前玩模型的一大感觉就是 下载什么模型之类的太难受了!服了 看到一个镜像站——…

如何使用bof-launcher在CC++Zig应用程序中执行Beacon对象文件(BOF)

关于bof-launcher bof-launcher是一款针对Beacon对象文件(BOF)的安全测试工具,在该工具的帮助下,广大研究人员可以轻松在C/C/Zig应用程序中执行Beacon对象文件(BOF)。 Cobalt Strike 4.1于2020年6月25日发…

[Diffusion Model 笔记]DDIM 笔记 数学推导 Denoising Diffusion Implicit Models

目录 核心总结符号定义第一套,快速简单讲清采样方法继续分析,待定系数法求解图示理解关于参数sigma 本文是观看以下视频的笔记,强烈推荐观看最后的图示理解: https://www.bilibili.com/video/BV13P411J7dm/?spm_id_from333.788 论…

数据结构|树形结构|并查集

数据结构|并查集 并查集 心有猛虎,细嗅蔷薇。你好朋友,这里是锅巴的C\C学习笔记,常言道,不积跬步无以至千里,希望有朝一日我们积累的滴水可以击穿顽石。 有趣的并查集剧情演绎:【算法与数据结构】—— 并…

idea自定义配置文件的注释

打开 IntelliJ Idea 软件 依次找到 File—>Editor—>File and Code Templates 设置 Files 下的Class、Interface、Enum等 输入下面的内容 /** * description: ${NAME} * date: ${YEAR}-${MONTH}-${DAY} ${HOUR}:${MINUTE} * author: author **/

php动态高亮web源代码

php动态高亮web源代码 注:配置好不允许高亮的文件名,安全第一 #php实现动态展示目录树结构源代码 适用于开放源代码,结合html缓存使用效果更佳,因循环较多不适合放首页 能力有限没实现行号 演示:show source|开放…

吉布提国家概况

吉布提国家概况 (最近更新时间:2022年10月) 【国 名】 吉布提共和国(The Republic of Djibouti, La Rpublique de Djibouti)。 【面 积】 2.32万平方公里。 【人 口】约100万。主要有伊萨族和阿法尔族。…

认识HTTP

HTTP缺点 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,可能遭遇伪装 无法证明报文的完整性,所以有可能遭篡改 一、通信使用明文(不加密),内容可能会被窃听 TCP/…

鸿蒙OpenHarmony【轻量系统 编译】 (基于Hi3861开发板)

编译 OpenHarmony支持hb和build.sh两种编译方式。此处介绍hb方式,build.sh脚本编译方式请参考[使用build.sh脚本编译源码]。 使用build.sh脚本编译源码 进入源码根目录,执行如下命令进行版本编译。 ./build.sh --product-name name --ccache 说明&…

【算法基础实验】图论-深度优先搜索和深度优先路径

深度优先(DFS) 理论基础 深度优先搜索(DFS, Depth-First Search)是图和树的遍历算法中的一种,它从一个节点开始,沿着树的边走到尽可能深的分支,直到节点没有子节点为止,然后回溯继续搜索下一个分支。DFS …

python基础之元组、集合和函数的定义与返回值

1.元祖 1.元祖的定义 元组的数据结构跟列表相似 特征:有序、 有序:有(索引/下标/index) 正序、反序标识符: ( ) 里面的元素是用英文格式的逗号分割开来关键字:tuple 列表和元组有什么区别? 元组…