Monday, April 9, 2012

Oracle Service Bus 11.1.1.6: Consume a JMS Message

Oracle Service Bus 11.1.1.6: Consume a JMS Message

Setting the Service Type of a proxy service to Messaging Service allows us to set the
Protocol to jms. On a proxy service, the JMS protocol always works inbound, that is, the
proxy service is consuming messages from a queue. On a business service in contrast, the
JMS protocol always works outbound, that is, the business service is putting the message
to a queue.
  • Create a new OSB project ConsumeOSBMessage and create a proxy folder
within it.


  •  Create a new proxy service and name it JMSConsumer.

  •  Navigate to the General tab.
  •  Set the Service Type option to Messaging Service.
 

  • Navigate to the Messaging tab
  • Set the Request Message Type option to Text.

  • Navigate to the Transport tab.
  • Select jms for the value of the Protocol drop-down listbox.
  •  Enter the end point url




  • Navigate to the JMS Transport tab
  • Set the Destination Type option to Queue.








8 comments:

  1. Please let me know of specific questions you may have so I can help you.

    ReplyDelete
  2. Great. I have a question. If I have JMS queue running on Weblogic 9.x server and I have OSB11.1.1.6 running on weblogic10.x server, can OSB proxy service consume message from JMS queue with your configurations above? Should I do anything extra? Will I have any problem talking two different server versions?
    Thanks
    Vaidya

    ReplyDelete
  3. One more question. Can you also consume message using multi instances like MDB?

    ReplyDelete
  4. I have a question, How to consume a specific message on Queue? Using the above example can we consume a message from Queue?

    ReplyDelete
  5. Great Paji, But i have a doubt, I have a message in queue A and i need to consume the message and put the message in queue B, Is that possible or should i write a java program to consume the message, as i tried similar to what you have mentioned and while creating the proxy i have mentioned the target queue name and in the field "is response required" i have checked and mentioned the destination queue but still it's not working.

    I am not sure whether it's the correct way to go, could you please help me.

    ReplyDelete
  6. You don't have to write java code to do so. You can do it directly from a business service. Please read the message from the first JMS queue using the proxy service and call the business service. Let the business service write to the JMS queue.

    ReplyDelete
  7. Hi, do you have any idea if we can control/define, how often, a JMS transport based Proxy Service polls associated queue, when dequeueing messages. From what I found, the proxy service acts as a listener on the JMS queue and will get active as soon as a message can be consumed from the queue. Please let me know if you know a way to configure how often to check for messages in the jms queue? Thank you.

    ReplyDelete
  8. There is a property called "minimumdelaybetweenmessages" that can be defined in the jca adapter for JMS and AQ. It takes the value in miliseconds. Please use this property to throttle the messages/

    ReplyDelete

ForgeRock IAM : OpenDS (Open Directory Server). Importing LDIF files

The most efficient method of importing LDIF data is to take the OpenDJ server offline. Alternatively, you can schedule a task to import the ...