java.lang.ClassCastException 说明是类型强制转化的时候出现的异常!
QueueConnectionFactory factory = (QueueConnectionFactory)initContext.lookup("myfactory");
可能是这句的问题,去websphere平台上看看是否配置好了消息工厂,再看看你factory类型是否选择的QueueConnectionFactory,还有你在配置文件里面写了QueueConnectionFactory Reference引用的JNDI(“myfactory”)没有。

解决方案 »

  1.   

    期待高手: 
        我在一个测试环境Windows XP Pro版 MQ V6.0.2 WAS 6.1 JDK IBM1.5 
        遇到同样的问题并且在几天前可以正常运行,更新应用后出现与上面兄弟同样的问题。
        所有配置正却,上下文重新邦定后无效还是错误。
        不知道是什么原因(可能是WebSphere启动时加载的Jar文件不是工程目录下的)
        解决办法是 在其他测试机器上 重新安装WAS的一个节点发布同版本应用 上下文文件没有更改使用问题机器上的  MQ对列管理器及对列重建OK了。
      

  2.   

    javax.naming.Reference 这个类 你可以在SUN公司的网站上下载 jndi.jar 97K 
    可是你当前要是使用WAS 的话 IBMJDK1.5 也有同样的类 javax.naming.Reference 类名和路径相同 我猜想如果是加载工程下的jndi.jar 中的Reference 可能是对的 (我在TomCat下没有IBMJDK使用正常) 如果是加载 IBM下的Reference 报错java.lang.ClassCastException: javax.naming.Reference incompatible with javax.jms.QueueConnectionFactory
      

  3.   

    WAS的类加载的先后顺我不知道是如何的。那位兄弟知道帮帮小弟。