Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法为JMS队列指定目标,因此可能会导致_Java_Jms_Weblogic - Fatal编程技术网

Java 无法为JMS队列指定目标,因此可能会导致

Java 无法为JMS队列指定目标,因此可能会导致,java,jms,weblogic,Java,Jms,Weblogic,我正在创建一个WLJMS队列,但在创建时,我没有看到附加此队列的目标(请参见下面的屏幕截图),因此我创建它时没有任何目标 之后,当我尝试使用JMS客户端代码进行连接时,出现了以下异常: Exception in thread "main" javax.naming.NameNotFoundException: Unable to resolve 'dq1'. Resolved '' [Root exception is javax.naming.NameNotFoundException: U

我正在创建一个WLJMS队列,但在创建时,我没有看到附加此队列的目标(请参见下面的屏幕截图),因此我创建它时没有任何目标

之后,当我尝试使用JMS客户端代码进行连接时,出现了以下异常:

Exception in thread "main" javax.naming.NameNotFoundException: Unable to resolve 'dq1'. Resolved '' [Root exception is javax.naming.NameNotFoundException: Una
ble to resolve 'dq1'. Resolved '']; remaining name 'dq1'
        at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:251)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:466)
        at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:274)
        at weblogic.jndi.internal.ServerNamingNode_12120_WLStub.lookup(Unknown Source)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:440)
        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:426)
        at javax.naming.InitialContext.lookup(Unknown Source)
我确信我的客户机代码没有错误,因为其他人可以使用相同的代码并将消息推送到队列中

是否因为队列未附加到任何目标而发生异常?如何将此队列附加到目标,如托管服务器

我将JMS服务器定位到托管服务器,我想我也会得到一个选择队列目标的选项,但它不会出现,可能这就是异常的原因。请注意,我已经尝试为队列创建子部署模板,但没有成功

如果需要其他信息,请告诉我


更新:

问题现在被隔离到托管服务器上,我可以将消息推送到一个以管理服务器为目标的队列中,但当我尝试使用托管服务器时,它并没有成功,下面是我所做的

我有一个托管服务器(使用节点管理器运行)ms1,然后我创建了一个JMS服务器
JMSServer2
,目标是
ms1

然后我创建了一个JMS模块
JmsModule2
,其目标是
ms1
,创建了一个JMS子部署
Subdeployment2
,其目标是
JMSServer2
,并创建了一个连接工厂和队列,其子部署是
Subdeployment2
,目标是
JMSServer2
。以下屏幕截图:


好的,我想好了。实际上,似乎必须创建一个子部署来启用JMS队列上的目标

我假设您已经正确地创建了JMS服务器JMS模块

现在你必须:

创建子部署 首先,需要创建一个子部署,将JMS服务器指定为此子部署的目标:

这里我的JMS服务器名为
JMSServer

使用子部署创建队列 然后创建JMS队列。请注意,如果在队列配置中未指定任何子部署,则无法看到任何目标:

但是,如果正确指定先前创建的子部署,您将看到您的目标是JMSServer:

就这些

希望这有帮助

编辑 我还在集群上进行了测试,它在针对单个托管服务器实例时工作良好。你必须

  • 创建JMS服务器将单个托管服务器实例指定为目标。

  • 创建JMS模块使用“集群的一部分”部分将单个托管服务器实例指定为目标。

  • 在此JMS模块中,创建一个子部署,使用“集群的一部分”部分将单个托管服务器实例指定为目标。

  • 最后,创建JMS队列并指定相应的子部署:您将看到JMS服务器作为目标


  • 您必须创建一个JMS服务器,它将是您的目标检查此链接:我已经创建了一个JMS服务器和JMS模块,然后在JMS模块中添加了JMS资源(连接工厂、队列等),但不知为什么我没有得到它,我也尝试过子部署,但也没有成功。哪个版本的weblogic?@Rouliboy WLS 12.1.3感谢您一直以来宝贵的回复。因此,我已经尝试过这个,让我今天从一个新的角度来尝试。顺便说一句,当您回答我关于WL依赖性问题的最后一个问题时,您还创建了一个POC,所以当时您在WL中创建了一个物理队列?如果是这样,那么您当时是否也创建了子部署?我昨天在新安装的WLS 12.1.3上创建了子部署。也许您忘记在子部署创建中指定目标了?好的,谢谢。我也明确指出了这一点,唯一的一点是,到目前为止我一直在使用托管服务器,现在我将尝试使用admin sever,如果它可以工作,那么我将尝试理解为什么它不能与托管服务器一起工作,因为它也应该与托管服务器一起工作。好的。明天我将在集群上测试它,因为我的答案是关于单个weblogic服务器(一个实例)。如果需要,我会更新我的答案。