当前位置: 首页 > 知识库问答 >
问题:

使用基于文件系统的初始上下文连接到JMS队列

黄凌龙
2023-03-14

使用Websphere MQ Explorer,我为JMS创建了一个新的基于初始上下文的文件系统。使用新的初始上下文,我创建了一个JMS队列来连接到现有队列(当前使用非基于java的框架访问)。

在应用程序代码中,我可以成功连接到上下文,如下所示:

properties.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.fscontext.RefFSContextFactory");
properties.put(Context.PROVIDER_URL,  "file:C://folder-name//");

try {
  val ctx = new InitialContext(properties)

接下来,我创建一个QueueConnectionFactory:

val qcf = (ctx.lookup("com.ibm.mq.jms.MQQueueFactory")).asInstanceOf[QueueConnectionFactory]

但是,这会引发以下异常:

javax.naming.NameNotFoundException: com.ibm.mq.jms.MQQueueFactory
    at com.sun.jndi.fscontext.RefFSContext.getObjectFromBindings(RefFSContext.java:400)
    at com.sun.jndi.fscontext.RefFSContext.lookupObject(RefFSContext.java:327)
    at com.sun.jndi.fscontext.RefFSContext.lookup(RefFSContext.java:146)
    at com.sun.jndi.fscontext.FSContext.lookup(FSContext.java:127)
    at javax.naming.InitialContext.lookup(InitialContext.java:411)

我使用了com。ibm。mq。jms。MQQueueFactory作为连接工厂名称,因为在中。绑定文件,有以下行:

MY.QUEUE/FactoryName=com.ibm.mq.jms.MQQueueFactory

但这引发了一个例外。

在哪里定义正确的连接工厂名称?

谢啦

共有1个答案

公冶光亮
2023-03-14

问题已解决-在基于文件的上下文(在JMS管理的对象下)下,必须定义连接工厂

 类似资料:
  • 我必须构建一个简单的路由,用camel将文件从ftps服务器下载到我的文件系统,所以我要做以下操作: 在日志中,我没有看到任何错误,路由似乎已正确初始化(我确信文件就在那里:)): 这是我在filezilla上连接到ftps服务器的设置,它正在工作 如果我尝试连接到一个普通的ftp服务器,那么路由就会很好地工作。 有人帮忙吗?

  • GitBook.connect(Component,[mapStateToProps],[mapActionsToProps])将react组件连接到GitBook上下文。 它不修改传递给它的组件类。 相反,它返回一个新的,连接的组件类,供您使用。 mapStateToProps(state,[ownProps]):stateProps 如果指定,组件将订阅GitBook存储更新。任何时候更新,m

  • 我对Android Studio有意见。当我试图构建我的项目时,我得到一个错误: 错误:配置项目“:App”时出现问题。 无法解析配置“:app:_DebugunitTestCompile”的所有依赖项。 无法解析JUnit:JUnit:4.12。必填者:MyApplication:App:未指定

  • 问题内容: 我正在尝试使用JMS和客户机通道定义表(CCDT)连接到IBM MQ。当我分别指定MQ属性时,我能够成功连接到QueueManager。但是,当我尝试使用CCDT文件时,出现以下异常。 由于客户端通道定义表(CCDT)用于确定客户端应用程序用来连接到队列管理器的通道定义,因此我没有设置QueueManager名称。 Iam使用该方法来设置CCDT URL。 当我尝试使用以下配置而不是C

  • 本文向大家介绍基于文件的数据管理系统,包括了基于文件的数据管理系统的使用技巧和注意事项,需要的朋友参考一下 用于组织和维护数据文件的系统称为基于文件的数据系统。这些文件系统用于处理单个或多个文件,效率不高。  功能性 基于文件的数据管理系统的功能如下- 基于文件的系统有助于任何用户的基本数据管理。 基于文件的系统中存储的数据应保持一致。在基于文件的系统中完成的任何事务都不应更改一致性属性。  基于

  • 问题内容: 我有一个内存限制的队列,其中多个线程将对象排队。通常,应该由处理队列中项目的单个读取器线程清空队列。 但是,队列可能已满。在这种情况下,我想将磁盘上的所有其他项保留在磁盘上,这将由另一个后台读取器线程处理,该线程将扫描目录中的此类文件并处理这些文件中的条目。我熟悉Active MQ,但是更喜欢轻量级的解决方案。如果未严格遵循“ FIFO”,则可以(因为保留的条目可能会乱序处理)。 有没