I'm using OC4J 10.1.2 and have MDB deployed on container to listen messages in AQ Queue. However, I'm using Oracle Integration InterConnect to pass messages from Web Application. So basically the flow is web-app to interconnect to AQ to MDB app. However, as everyone know that the Oracle Integration InterConnect doesn't support JMS send, so I have to import the Oracle AQ$_JMS_TEXT_MESSAGE as the data type to iStudio. Therefore, to send the message as JMS to AQ, I have to hard coded the JMS Header because the data that I'm mapping is just a RAW XML data. However, when my mdb try to dequeue the message, it's just hang/freeze (I went to the AQ table and try to delete the message but it gives error ORA00054: resource busy and acquire with NOWAIT specified.).
Anybody know how to fix this? FYI, it works on OC4J 9 but I'm having this problem on OC4J 10.1.2. I was wondering whether it's because I hard code the JMS Header value (maybe there's certain requirement for the JMS Header).
I hope when you say you tried to delete the message from the AQ table you meant dequeue it! You will give your DBA heart attacks if he finds you are really performing delete dml against an AQ table (quite apart from being liable to corrupt your AQ tables - sorry once a DBA always a DBA ;0) ). The message implies that something has a write lock on the row you are trying to delete/dequeue which suggests that your MDB is still hanging on to it.
Not sure about why the MDB can't get the JMS message though.