【发布时间】:2017-06-16 19:29:51
【问题描述】:
我正在创建一个 WL JMS 队列,但在创建时我没有看到附加此队列的目标(见下面的屏幕截图),所以我创建它时没有任何目标。
现在,当我尝试使用 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,然后我创建了一个针对 ms1 的 JMS 服务器 JMSServer2
然后我创建了一个目标为ms1的JMS模块JmsModule2,创建了一个目标为JMSServer2的JMS子部署Subdeployment2,并创建了一个连接工厂和队列,其子部署为Subdeployment2,目标为@ 987654341@。以下屏幕截图:
【问题讨论】:
-
您必须创建一个 JMS 服务器,这将是您的目标
-
我已经创建了 JMS 服务器和 JMS 模块,然后在 JMS 模块中添加了 JMS 资源(连接工厂、队列等),但不知何故我没有得到它,我已经尝试过子部署也是如此,但它也不起作用。
-
哪个版本的weblogic?
-
@Rouliboy WLS 12.1.3