NJAWIN and MSMQ
843829Sep 29 2005 — edited Nov 18 2005I have a server that reads messages off an MSMQ using NJAWIN and send them on to clients. After it has been running for several hours I get the following error.
com.develop.jawin.COMException: 8000ffff: nullcom.develop.jawin.COMException: 8000ffff: CoCreateInstance for "{d7d6e07c-ffffdccd-11d0-aa4b-0060970debae}" failed
at com.develop.jawin.win32.Ole32.CoCreateInstance(Ole32.java:143)
at com.develop.jawin.win32.Ole32.GetFromProgID(Ole32.java:90)
at com.develop.jawin.DispatchPtr.<init>(DispatchPtr.java:70)
at MSMQ.IMSMQQueueInfo.<init>(IMSMQQueueInfo.java:31)
at develop.MQ.QueueIO.recv(QueueIO.java:205)
at develop.MQ.QueueIO.recv(QueueIO.java:173)
at develop.MQ.QueueReader.processRequests(QueueReader.java:47)
at develop.MQ.QueueReader.run(QueueReader.java:38)
at java.lang.Thread.run(Unknown Source)
subsequent calls then return
java.lang.NullPointerException
at java.io.ByteArrayInputStream.<init>(Unknown Source)
at com.develop.jawin.win32.Ole32.CLSIDFromProgID(Ole32.java:102)
at com.develop.jawin.win32.Ole32.GetFromProgID(Ole32.java:86)
at com.develop.jawin.DispatchPtr.<init>(DispatchPtr.java:70)
at MSMQ.IMSMQQueueInfo.<init>(IMSMQQueueInfo.java:31)
at develop.MQ.QueueIO.recv(QueueIO.java:205)
at develop.MQ.QueueIO.recv(QueueIO.java:173)
at develop.MQ.QueueReader.processRequests(QueueReader.java:48)
at develop.MQ.QueueReader.run(QueueReader.java:39)
at java.lang.Thread.run(Unknown Source)
Here is the java code I am using at this point.
IMSMQQueueInfo qinfoRecv = null;
try{
qinfoRecv = new IMSMQQueueInfo("MSMQ.MSMQQueueInfo");
....
... open queue - get message....
...
qInfoRecv.Close();
}catch(Exception e){
e.printStackTrace();
}finally{
qInfoRecv.close();
qinfoRecv = null;
}
The qinfoRecv = new IMSMQQueueInfo("MSMQ.MSMQQueueInfo"); will have worked many times already in this JVM thread.
Anyone got any ideas where I am going wrong ? I am running the latest NJAWIN version (1.2.2) (type libs are generated by NJAWIN1.1) and am using JRE1.5.0_4 on Win 2003. The only way to get round this at the moment is to stop the server and then re-start it.
Thanks for any help