|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
Event Broker java.net.UnknownHostException |
« View previous topic :: View next topic » |
Author |
Message
|
murdeep |
Posted: Tue Feb 07, 2006 4:34 pm Post subject: Event Broker java.net.UnknownHostException |
|
|
Master
Joined: 03 Nov 2004 Posts: 211
|
Hi, I am following Redbook sg246088 and experimenting with Event Broker.
I am doing the first pub/sub example utilizing the real time transport Chapter 9.
I have created the JNDI objects.
InitCtx> dis ctx
Contents of InitCtx
.bindings java.io.File
a IP_2003 com.ibm.mq.jms.MQTopicConnectionFactory
a basic com.ibm.mq.jms.MQTopic
a multicast com.ibm.mq.jms.MQTopic
a IP_2004 com.ibm.mq.jms.MQTopicConnectionFactory
I have created the topics and deployed them. I created the flows and have deployed them to the execution group.
I verify that the ports (2003 and 2004) are being listened on after the flows are deloyed.
C:\WBIMB V6\RedbookExtraMaterial\sg246088\code>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP athome-o43p4ewb:2003 athome-o43p4ewb:0 LISTENING
TCP athome-o43p4ewb:2004 athome-o43p4ewb:0 LISTENING
I then execute the Publisher sample program and it errors with:
C:\WBIMB V6\RedbookExtraMaterial\sg246088\code>java Publisher IP_2003 basic notran nonpers
Publisher Application
Not using transactional control
Message are not persistent
Using Topic: topic://messages/basic?brokerVersion=1
Unable to create JMS objects
com.ibm.mq.jms.JMSWrappedException: MQJMS6115: An exception occured while creating the TopicConnection, exception java.io.IOExceptio
n: java.net.UnknownHostException: None: None
at com.ibm.mq.jms.MQTopicConnectionFactory.createDirectTopicConnection(MQTopicConnectionFactory.java:572)
at com.ibm.mq.jms.MQTopicConnectionFactory.createDirectTopicConnection(MQTopicConnectionFactory.java:413)
at com.ibm.mq.jms.MQTopicConnectionFactory.createTopicConnection(MQTopicConnectionFactory.java:201)
at Publisher.main(Publisher.java:132)
java.io.IOException: java.net.UnknownHostException: None: None
at com.ibm.mq.jms.ConnectionMulticastSupport.setClientConfigParameters(ConnectionMulticastSupport.java:137)
at com.ibm.mq.jms.ConnectionMulticastSupport.<init>(ConnectionMulticastSupport.java:101)
at com.ibm.mq.jms.ConnectionImpl.<init>(ConnectionImpl.java:297)
at com.ibm.mq.jms.TopicConnectionImpl.<init>(TopicConnectionImpl.java:97)
at com.ibm.mq.jms.MQTopicConnectionFactory.createDirectTopicConnection(MQTopicConnectionFactory.java:560)
at com.ibm.mq.jms.MQTopicConnectionFactory.createDirectTopicConnection(MQTopicConnectionFactory.java:413)
at com.ibm.mq.jms.MQTopicConnectionFactory.createTopicConnection(MQTopicConnectionFactory.java:201)
at Publisher.main(Publisher.java:132)
Now the interesting thing about this is it originally worked and then I had to reboot the box and since then it doesn't work.
Now I did some testing and if I deallocate the flows from the eg I get the following stack dump which indicates connection refused. I think this makes sense since there is no application listening on the port 2003 when I deallocate the flow.
EG before:
C:\Program Files\IBM\MQSI\6.0>mqsilist WBRK6_DEFAULT_BROKER -e pubSubEG
BIP8131I: MessageFlow: IP_Optimized_Flow
BIP8131I: MessageFlow: IP_Publish_Flow
BIP8071I: Successful command completion.
EG After:
C:\Program Files\IBM\MQSI\6.0>mqsilist WBRK6_DEFAULT_BROKER -e pubSubEG
BIP8071I: Successful command completion.
Stack trace after flows removed:
C:\WBIMB V6\RedbookExtraMaterial\sg246088\code>java Publisher IP_2003 basic notran nonpers
Publisher Application
Not using transactional control
Message are not persistent
Using Topic: topic://messages/basic?brokerVersion=1
Unable to create JMS objects
com.ibm.mq.jms.JMSWrappedException: MQJMS6115: An exception occured while creating the TopicConnection, exception java.net.ConnectEx
ception: Connection refused: connect
at com.ibm.mq.jms.MQTopicConnectionFactory.createDirectTopicConnection(MQTopicConnectionFactory.java:572)
at com.ibm.mq.jms.MQTopicConnectionFactory.createDirectTopicConnection(MQTopicConnectionFactory.java:413)
at com.ibm.mq.jms.MQTopicConnectionFactory.createTopicConnection(MQTopicConnectionFactory.java:201)
at Publisher.main(Publisher.java:132)
java.net.ConnectException: Connection refused: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(Unknown Source)
at java.net.PlainSocketImpl.connectToAddress(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at com.ibm.disthub2.impl.net.tcp.TcpSocketFactory.createSocket(TcpSocketFactory.java:62)
at com.ibm.disthub2.impl.net.SocketFamilyManager.createSocket(SocketFamilyManager.java:179)
at com.ibm.disthub2.impl.client.ConnectorImpl.connect(ConnectorImpl.java:493)
at com.ibm.disthub2.impl.client.ConnectorImpl.<init>(ConnectorImpl.java:299)
at com.ibm.disthub2.impl.client.ConnectorImpl.<init>(ConnectorImpl.java:343)
at com.ibm.mq.jms.ConnectionImpl.<init>(ConnectionImpl.java:244)
at com.ibm.mq.jms.TopicConnectionImpl.<init>(TopicConnectionImpl.java:97)
at com.ibm.mq.jms.MQTopicConnectionFactory.createDirectTopicConnection(MQTopicConnectionFactory.java:560)
at com.ibm.mq.jms.MQTopicConnectionFactory.createDirectTopicConnection(MQTopicConnectionFactory.java:413)
at com.ibm.mq.jms.MQTopicConnectionFactory.createTopicConnection(MQTopicConnectionFactory.java:201)
at Publisher.main(Publisher.java:132)
So I think this test confirms my flows do listen on port 2003 and 2004 and when the flows are removed I don't get the original java.net.UnknownHostException.
I have triple checked everything and am at a loss as to how to further trouble shoot the com.ibm.mq.jms.JMSWrappedException: MQJMS6115: An exception occured while creating the TopicConnection, exception java.io.IOException: java.net.UnknownHostException: None: None error.
Any ideas/suggestions would be appreciated. |
|
Back to top |
|
 |
murdeep |
Posted: Tue Feb 07, 2006 8:52 pm Post subject: |
|
|
Master
Joined: 03 Nov 2004 Posts: 211
|
Update: I did some testing on my V5 WBI-MB broker and everything works as expected. The problem detailed above is occurring on my V6 WBI-MB system. |
|
Back to top |
|
 |
dirac |
Posted: Wed Feb 08, 2006 1:31 am Post subject: |
|
|
Novice
Joined: 31 Mar 2005 Posts: 23
|
I think you have hit a known defect that is present in WBI v6, with regard to multicast settings. If you look at the multicast settings on the GUI you will see one called "IPv4 Broker Network Interface" which has a value of "None". At the moment, when you deploy a multicast configuration, this value is wrongly altered by the broker to "None;None" which can cause the unknown host exception that you are seeing. You can verify this by issuing the following command before attempting to publish:
mqsireportproperties <mybroker> -e <my_exegroup> -o DynamicSubscriptionEngine -r
If things are working properly you should see a value of multicastMulticastInterface='none'
But if you are hitting this defect you will see: multicastMulticastInterface='None;None'
There is a workaround. After deploying/changing a multicast configuration, issue the following command:
mqsichangeproperties <mybroker> -e <my_exegroup> -o DynamicSubscriptionEngine -n multicastMulticastInterface -v none
Then stop and start the broker to pick up the changes.
Let me know if this works... |
|
Back to top |
|
 |
murdeep |
Posted: Wed Feb 08, 2006 8:02 am Post subject: |
|
|
Master
Joined: 03 Nov 2004 Posts: 211
|
dirac, that was it indeed. I assume this will be addressed in the next CSD but in the meantime each time an execution group is created we'll need to change the eg properties?
thanks |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|