
今天看了一段之前同事写jms的代码,觉得好像不对,但是不可能,生产上用的代码。刚开始想了下,脑子没转过弯来,后来一想是个简单的问题
代码如下:
topicConnection = (TopicConnection) jmsTemplate.getConnectionFactory().createConnection();
//-------分隔线-------------------
queueConnection = (QueueConnection) jmsTemplate.getConnectionFactory().createConnection();
一个方法的返回值转成两个不同的类型。这两个类型之间没有继承关系。其实这两个类型都是接口,那就好解释了。
一想 一定是weblogic的连接实现同时实现了QueueConnection与TopicConnection,反编译代码一探究竟,果然如此:
--EOF---