Oracle OSB-SOA-BPEL Interview Question and Answer – Part 14

In this article, we will discuss interview question with their justification on Oracle OSB, SOA and BPEL

This is part-14 of Oracle OSB-SOA-BPEL interview question series

Q) What are the types of Rejection Message Handler ?

  • Web Service Handler
  • Custom Java Handler
  • JMS Queue
  • File

Q) Difference between queue and topic in JMS ?
Q) What is the difference between topic and queue ?

  • A topic is typically used for one-to-many messaging i.e. it supports publish subscribe model of messaging
  • While queue is used for one-to-one messaging i.e. it supports Point to Point Messaging

Q) Explain JMS Queue & JMS Topic ?

JMS queue:

  • A staging area that contains messages that have been sent and are waiting to be read
  • Note that, contrary to what the name queue suggests, messages have to be delivered in the order sent
  • A JMS queue only guarantees that each message is processed only once

JMS topic:

  • A distribution mechanism for publishing messages that are delivered to multiple subscribers

Q) Explain JMS Adapter ?

JMS adapters used one client interface to many messaging servers

JMS supports two messaging paradigms:

  • point-to-point (queues) and
  • publish/subscribe (topics)


  • In point-to-point messaging, the messages are stored in a queue until they are consumed
  • One or more producers write to the queue and one or more consumers extract messages from the queue
  • The JMS consumer sends an acknowledgment after consumption of a message;
  • this results in purging of the message from the queue.


  • In publish/subscribe messaging, producers publish messages to a topic and the consumer subscribes to a particular topic
  • Many publishers can publish to the same topic, and many consumers can subscribe to the same topic
  • All messages published to the topic by the producers are received by all consumers subscribed to the topic
  • By default, subscribers receive messages only when they are active
  • However, JMS API supports durable subscriptions that ensure that consumers receive messages that were published even when they are not up and running
  • The durable subscription involves registering the consumer with a unique ID for retrieving messages that were sent when the consumer was inactive
  • These messages are persisted by the JMS provider and are either sent to the consumer when it becomes active again or purged from storage if the message expires
  • The JMS producer can be set either to persistent or non-persistent mode
  • The messages are not persisted in the latter case and can be used only for nondurable subscriptions

Q) What are the steps in configuring JMS Adapter ?

Before using JMS Adapter in the SOA Composite (message producer & message consumer), you have configure

  • JNDI name such as Queue or Topic (Destination)
  • Connection Factory
  • JMS Connection pool & associate this with above connection factory

Destination & Connection Factory: The destination property contains the addressing information for a JMS queue or topic. The connection factory is used to create JMS connections.

JNDI name & Connection Factory configuration steps:

  • Login to console
  • Go to Services –> Messaging –> JMS Modules
  • Select one of the three options and details such as JNDI name
    • Connection factory eg.;   jms/demoCFactory
    • Queue eg.;   jms/demoTopic
    • Topic eg.;   jms/demoQueue

Connection Pool: Connections represent a physical connection to the JMS provider

Step1: JMS Adapter Connection Pool configuration steps:

  • Login to console
  • Locate/select/click JmsAdapter under Deployments
  • Select new under oracle.tip.adapter.jms.IJmsConnectionFactory
  • Provide the JNDI name e.g.; eis/demo/Queue

Step2: Associating JMS Connection Pool with Connection factory

  • Follow the above steps
  • Locate the connection pool for which you want to associate the connection factory
  • In the Outbound Connection Properties set Connection Factory JNDI name (created under Connection Factory configuration) in the property “ConnectionFactoryLocation”

Configuring JMS Adapter

In the JMS Adapter configuration wizard, set Destination name such Queue/Topic & JNDI name of the JMS Connection Pool.

Operation Type under this wizard is:

  • Consume Message
  • Produce Message
  • Request/Reply

NOTE: all adapters in Oracle SOA suite are based on JCA framework

Q) Why do we use a JMS queue? What is the benefit of using it over a simple AQ queue ?

  • Maintain JTA transaction capability and to ensure one and only one message delivery

Q) How will use Database adapter in OSB? Configuration details ?

  • As such directly you don’t have the DB adapter in OSB
  • First you need to create a DB Adapter in JDeveloper & then in OSB import (either all projects or simply the required files such .jca, .wsdl, .xsd files)
  • AND later you implement/create Business Service using these details and in the end create an intermediary interface i.e.;
  • proxy service & configure your message flow definition


Folks, it’s your turn to comment & suggest for improvement

Note: We have taken inputs from various folks and other weblog for making this comprehensive set of Oracle SOA-OSB interview & answers


Read Also:


Happy Coding !!
Happy Learning !!

Oracle OSB-SOA-BPEL Interview Question and Answer - Part 15
Oracle OSB-SOA-BPEL Interview Question and Answer - Part 13