从远程应用程序服务器连接到 Websphere Liberty jmsServer

2024-04-15

是否可以从远程应用程序服务器连接到部署在 Websphere Liberty 中的队列?

我使用该产品的免费版本(Liberty 8.5.5.7)。 我在 server.xml 中配置了连接工厂:

<messagingEngine>
    <queue id="Queue1" receivedAllowed="false" maxMessageDepth="1000"/>
</messagingEngine>

<jmsQueueConnectionFactory jndiName="qcf/ConnectionFactory" connectionManagerRef="ConMgr2">
    <properties.wasJms nonPersistentMapping="ExpressNonPersistent" persistentMapping="ReliablePersistent"/>
</jmsQueueConnectionFactory>
<connectionManager id="ConMgr2" maxPoolSize="10"/>

jms 服务器正在侦听 localhost:7276。

我编写了一个简单的客户端应用程序,并在类路径中包含必要的客户端 jar(com.ibm.ws.ejb.thinclient_8.5.0.jar、com.ibm.ws.orb_8.5.0.jar 和 com.ibm.ws.sib)。 client.thin.jms_8.5.0.jar):

Properties env = new Properties();
env.put(Context.PROVIDER_URL,"iiop://localhost:7276");
env.put(Context.INITIAL_CONTEXT_FACTORY, "com.ibm.websphere.naming.WsnInitialContextFactory");
InitialContext ctx = new InitialContext(env);
Object qcf = ctx.lookup("qcf/ConnectionFactory");

运行程序会产生以下异常:

javax.naming.ServiceUnavailableException: A communication failure occurred while attempting to obtain an initial context with the provider URL: "iiop://localhost:7276".  Make sure that any bootstrap address information in the URL is correct and that the target name server is running.  A bootstrap address with no port specification defaults to port 2809.  Possible causes other than an incorrect bootstrap address or unavailable name server include the network environment and workstation network configuration. [Root exception is org.omg.CORBA.TRANSIENT: java.net.ConnectException: Connection refused: connect:host=192.168.9.208,port=7276  vmcid: 0x4942f000  minor code: 3586  completed: No]
at com.ibm.ws.naming.util.WsnInitCtxFactory.mapInitialReferenceFailure(WsnInitCtxFactory.java:2373)

原始 IBM 文档没有明确讨论 Liberty 中是否禁用此功能。

解决方案:无法在 Liberty 中使用 JNDI 进行远程查找。 使用此论坛主题:link https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014949432,可以通过编程方式构造 ConnectionFactory。

JmsFactoryFactory jff = JmsFactoryFactory.getInstance();
JmsQueueConnectionFactory qcf = jff.createQueueConnectionFactory();
qcf.setBusName("myBus");
qcf.setProviderEndpoints("localhost:7276:BootstrapBasicMessaging");
qcf.setTargetTransportChain("InboundBasicMessaging");

您只需要在类路径中包含以下 jar:com.ibm.ws.orb_8.5.0.jar、com.ibm.ws.sib.client.thin.jms_8.5.0.jar。 (位于WebSphere\AppServer\runtimes,其中WebSphere 是完整的WAS 安装目录)


None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从远程应用程序服务器连接到 Websphere Liberty jmsServer 的相关文章

随机推荐

  • 如何获取类属性的名称?

    无论如何我可以获得类属性的名称IntProperty public class ClassName public static int IntProperty get return 0 something like below but I
  • 在Python中按多个值对列表列表进行排序

    我需要对列表列表进行排序 其中每个列表entry外部列表是一个由三个整数组成的列表 如下所示 3 1 0 1 2 3 3 2 0 3 1 1 诀窍是我需要对其进行排序entry 0 如果有平局 则按以下顺序对它们进行排序entry 1 如果
  • OSX - 始终隐藏某些文件

    我知道如何在终端中显示和隐藏隐藏文件 但是有没有办法在显示隐藏文件时隐藏某些文件 例如 DS STORE 可以这么说 使某些文件超级隐藏吗 Use chflags与隐藏选项 ie chflags hidden fileToHide从 Fin
  • XMI 2.1.1 的 XSD

    我必须使用 JAXB 解析 XMI 文件 xmi 版本 2 1 1 为此 我必须生成与 XMI 文件相对应的 Java 类 因此 我需要 xmi 文件的 shema 定义才能使用 jxc 工具执行此操作 我希望有人知道在哪里可以找到这个文件
  • `AVCaptureVideoDataOutput` 消耗的内存是 `AVCaptureMovieFileOutput` 的三倍

    Issue 我正在使用 AVFoundation 来实现一个相机 它能够在运行特殊的人工智能处理时录制视频 拥有一个AVCaptureMovieFileOutput 用于视频录制 and a AVCaptureVideoDataOutput
  • 当由不同模块导入时,如何访问 Python 2.7 中的相对路径

    目标 使用从各种 python 模块调用的通用实用程序函数时访问 写入相同的临时文件 背景 我正在使用 python Unittest 模块来运行一组自定义测试 这些测试通过 pySerial 与仪器接口 因为我使用的是unittest模块
  • AudioConverterNew 返回 -50

    我有一个关于使用 AudioQueue 服务的小问题 我已按照 Apple 网站上提供的指南进行操作 但是当我启动并运行音频队列时 我收到消息告诉我 AudioConverterNew 返回 50 现在 我知道 50 错误代码意味着存在错误
  • node.js可以导入java库吗

    我有一个 Nodejs 应用程序 它有一些昂贵的计算 我正在考虑用 java 来完成这部分 这样我就可以更轻松地利用线程和数学库 有没有一种简单的方法可以让nodejs与外部java库对话 java 库将包含一个频繁调用 javascrip
  • Hive 分区表上的 Spark 行为

    我用的是 Spark 2 实际上我不是执行查询的人 所以我不能包含查询计划 数据科学团队问过我这个问题 我们将 Hive 表划分为 2000 个分区并以 parquet 格式存储 当在 Spark 中使用相应的表时 执行器之间恰好执行了 2
  • 如何查找没有自己登录名的 sqlserver 域用户的登录名、数据库用户名或角色?

    我创建了一个名为 MYDOMAIN Domain Users 的登录名和数据库用户 我需要找到登录的域用户具有哪些角色 但所有获取当前用户的调用都返回域用户名 例如 MYDOMAIN username 不是数据库用户名 例如 MYDOMAI
  • Thymeleaf 中链接绝对 URL 时 th:href 和 href 之间的区别

    就在 Thymeleaf 的开头文档 http www thymeleaf org doc articles standardurlsyntax html关于标准url语法有两个例子 但没有说明它们之间的区别 a a href http w
  • 比特率 JWplayer

    我无法让 jwplayer 以不同的比特率工作 对于每个视频 我都会创建具有不同后缀且比特率较低的新输出文件 例如 输出1 高比特率 test original mp4 输出 2 中等比特率 test medium mp4 输出 2 低比特
  • 如何列出 Git 存储库中的目录以及每个目录条目的最新提交信息?

    我想列出 Git 存储库中的目录以及每个目录条目的最新提交信息 类似于 GitHub 如何显示目录或 viewvc 如何显示 SVN CVS 存储库中的目录 目前我这样做 获取目录条目git ls tree master并从输出中解析目录结
  • 如何在 JavaScript 的“if”语句中指定多个条件[关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 这是我试图提及两个条件的方式如果这个或这个 但它不起作用 if Type 2 PageCount 0 Type 2 PageCou
  • 单击 RecyclerView 转到另一个包含 android 中数据的活动

    我正在使用 RecyclerVeiw 显示一些图像 单击它应该启动新活动 显示 RecyclerView 的 id 名称 我实现了代码 但它现在可以工作 但不可点击 下面是我的适配器 import android content Conte
  • 将 PEM 公钥读取到 iOS 中

    我有一个由 java 使用以下代码生成的 base64 公钥 RSAPublicKeySpec rsaKS new RSAPublicKeySpec modulus pubExponent RSAPublicKey rsaPubKey RS
  • java中通过POST方法发送Xml字符串

    我想通过 POST 方法将 xml 字符串传递到 URL 我尝试了下面的代码片段 但它没有返回任何内容 disableCertificateValidation String url https url https Properties s
  • 什么是“void(*old_sigint_handler)(int)”?

    这是一个语法问题 我遇到了这条线 void old sigint handler int 我不知道它在做什么 看起来像是没有变量名的三种类型的串联 我希望得到澄清 void old sigint handler int 这定义了old si
  • 线程模拟的多级使用

    我对一些很久以前编写的进行线程级模拟和进程生成的类遇到了一些问题 问题似乎是我对这些实用程序类的使用超出了其他人尝试使用它们所做的事情 第一个通过使用 OpenThreadToken 和 DuplicateToken 以及 Imperson
  • 从远程应用程序服务器连接到 Websphere Liberty jmsServer

    是否可以从远程应用程序服务器连接到部署在 Websphere Liberty 中的队列 我使用该产品的免费版本 Liberty 8 5 5 7 我在 server xml 中配置了连接工厂