Server Liberty:中间上下文不存在:jms/xyz

Server Liberty:中间上下文不存在:jms/xyz,server,ibm-mq,websphere-liberty,Server,Ibm Mq,Websphere Liberty,我正在将ear应用程序迁移到liberty。它是一个使用JMS和MQ消息传递提供程序的web应用程序 例如,在my stage.config.xml中,我们有以下属性: MQQueue(0).CCSID MQQueue(0).baseQueueName MQQueue(0).jndiName MQQueue(0).name MQQueueConnectionFactory(0).CCSID MQQueueConnectionFactory(0).channel MQQueueConn

我正在将ear应用程序迁移到liberty。它是一个使用JMS和MQ消息传递提供程序的web应用程序

例如,在my stage.config.xml中,我们有以下属性:

MQQueue(0).CCSID 
MQQueue(0).baseQueueName 
MQQueue(0).jndiName 
MQQueue(0).name 
MQQueueConnectionFactory(0).CCSID 
MQQueueConnectionFactory(0).channel 
MQQueueConnectionFactory(0).connectionPool.ConnectionPool(0).maxConnections 
MQQueueConnectionFactory(0).description 
MQQueueConnectionFactory(0).host 
MQQueueConnectionFactory(0).jndiName 
MQQueueConnectionFactory(0).name
MQQueueConnectionFactory(0).port
MQQueueConnectionFactory(0).provider
MQQueueConnectionFactory(0).queueManager
MQQueueConnectionFactory(0).sessionPool.ConnectionPool(0).maxConnections
MQQueueConnectionFactory(0).transportType

jsp-2.3
localConnector-1.0
jndi-1.0
jdbc-4.1
samlWeb-2.0
wasJmsClient-2.0
wasJmsClient-1.1
wmqJmsClient-1.1
jndi-1.0
jmsMdb-3.1
jsf-2.2
我获取的异常:NameNotFoundException:中间上下文不存在:jms/xyz


任何人都可以指导我在Server.xml中必须使用哪些参数/配置才能工作。请提供帮助。

我假设您将使用资源适配器,因此请先阅读IBM文档


当您开始配置IBM documented by IBM之类的东西时,它仍然不起作用,请发布liberty配置和您得到的完整异常,这样我们可以再次帮助您。

您的
服务器.xml有几个问题:

  • 重复的
    jndi-1.0
    功能
  • 混合
    wasJmsClient
    wmqJmsClient
    -如果您只使用
    mq
    ,则删除
    was
  • wasJmsClient
    的混合版本-如果还需要连接到内部队列,请仅使用一个
  • 在features中-您在哪里找到这样的构造,我认为它不受支持
  • 最后,您将使用
    jms\xyz
    一次作为QCF名称,一次作为上下文名称。这是不正确的。将QCF jndi名称更改为其他名称,例如
    jms\xyz\QCF
根据评论进行更新
检查您是如何使用JMS类的

以下是我用于连接MQ的配置和代码:

server.xml
片段:

    <feature>jms-2.0</feature>

有描述配置的通用liberty备忘单文档。第11.3节提供了默认设置的IBM MQ示例设置,例如,
DEV.APP.SVRCONN
。您将在MQ安装路径中找到
wmq.jmsra.rar
。e、 例如,
/opt/mqm/java/lib/jca/wmq.jmsra.rar
。如上所述,请共享任何特定的配置问题。您好,我已进行了必要的更改。但现在我的错误如下:无法找到wmqjmsclient-1.1功能的功能定义。尝试运行命令bin/installUtility install wmqjmsclient-1.1来安装该功能。或者,您可以运行命令bin/installUtility install defaultServer来安装此配置引用的所有功能。我写这封信是为了删除
wasJmsClient
而不是
wmqJmsCliet
,当您连接到WMQ时。我只删除了wasJmsClient,WMQjmsClient 1.1仍然存在。但我仍然收到此错误。我收到以下异常:JMSCC0014:在非转换会话上调用“提交”方法无效。@Padmaja为您添加了工作代码。我没有使用wmq,也没有使用客户端功能,只是使用jms-2.0。
    <feature>jms-2.0</feature>