• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Liutauras Vilda
  • Ron McLeod
Sheriffs:
  • Jeanne Boyarsky
  • Devaka Cooray
  • Paul Clapham
Saloon Keepers:
  • Scott Selikoff
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
  • Frits Walraven
Bartenders:
  • Stephan van Hulst
  • Carey Brown

JMS - ActiveMQ works, Oracle AQ JMS does not

 
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We're prototyping open source replacements for a legacy application.

When we're running a prototype again ActiveMQ, we don't have any problems. Well, we ended up running spring on the applet side(!) because of an initialization issue with the naked activemq client libraries, but that was a mere annoyance.

When we're running a prototype against the Oracle JMS wrapper on ActiveQueues, we run into a brick wall. (The legacy app uses AQ, we're prototyping on new AQ queues with JMS support enabled.) With the help of some online resources we've been able to get a test case to the point where the JMS calls throw a generic "corrupt data" exception, and the corresponding AQ-specific calls throw a NPE when writing to a HashTable in a 'convertPropertyListToHashtable' call. We're pretty confident that the JMS exception is just a wrapper for this NPE.

This suggests that we haven't specified some message property, but we're coming up blank since it works with ActiveMQ and there's no mention of this in the AQ JMS resources.

BTW this happens with test payloads of Date, String and a String containing XML text.

Ideas?

P.S., we're running 11.1g and saw a similar problem reported about 6 months ago, but no resolution was discussed.
 
Bear Giles
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We've made a little progress -- using the native API it looks like the underlying message payload is null. That could reasonably result in an NPE when it hits the JMS wrapper logic.

The test code is:



We can verify that the XML -is- properly written into oracle tables. We can also verify that we can see messages written into oracle tables via other mechanisms, but we still get a null payload.
 
Bear Giles
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
A group of us finally figured out how to send/receive native messages. We don't know if it's the -right- approach, but it does successfully send messages.

Enqueue:


Dequeue:
 
Bear Giles
Greenhorn
Posts: 25
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
And here is the code that uses AQ JMS. Still not quite pure-JMS, and we still haven't figured out how to get XMLType out of the received message. But it doesn't blow chunks any longer.

Sent:


Receiver:
 
This cake looks terrible, but it tastes great! Now take a bite out of this tiny ad:
Smokeless wood heat with a rocket mass heater
https://woodheat.net
reply
    Bookmark Topic Watch Topic
  • New Topic