在发送消息时候,抛出错误
“lookup(eis/JCAJMS)javax.naming.NameNotFoundException: Context: localhost/nodes/localhost/servers/server1, name: eis/JCAJMS: First component in name JCAJMS not found. [Root exception is org.omg.CosNaming.NamingContextPackage.NotFound: IDL:omg.org/CosNaming/NamingContext/NotFound:1.0]。
这个是由于WC-Server.xml中OutboundConnector标签下的JndiName="eis/JCAJMS"找不到所导致的。
解决方法:
进入WAS管理控制台,应用程序=》应用程序类型=》Websphere 企业应用程序=》WC=》管理模块
=》Adapter for Websphere MQ=》资源适配器=》J2C连接工厂=》javax.resource.cci.ConnectionFactory 这里会显示该消息类型,对应的JNDI名称,和实现工厂和方法。 正常情况下,这里的JNDI名字应该和WC-Server.xml中的JndiName相对应。
在生产环境中,直接修改就可以了。
在本地环境中,我们需要在WCDE_ENT70\wasprofile\config\cells\localhost\applications\WC.ear\deployments\WC,修改文件deployment.xml,查找uri="Enablement-JCAJMSConnector.rar“,修改factories标签下的jndiName=“eis/JCAJMS”,保存退出。
重启Server就OK了