weblogic interview questions and answers
121.What is the use of “Destination” in JMS? How many types of
“Destinations” are available in JMS?
- A destination is a lightweight
object that is stored in JNDI.
- It is the target on a JMS server
for sending or receiving messages.
- The JMS destination types are:
- Queue
- Topic
122.Explain about “Queue Destinations”?
In JMS point-to-point messaging, note the following:
- Clients communicate with a queue destination.
- Messages are distributed to
consumers in a serial fashion (first in, first out).
- Each message is delivered only to
a single consumer.
123.Explain about “Topic Destinations”?
In JMS publish/subscribe messaging, the following is true:
- Clients communicate with a topic destination.
- Messages are broadcast to all
subscribers.
- A message can be saved until at
least one subscriber has consumed it (“durable”).
124.Explain about Threshold and Quotas in JMS?
- A threshold and a quota can be
set for the server and destination objects.
- A quota is a limit defined for
the JMS-administered objects; it includes the following values:
- The maximum number of bytes that
can be stored
- The maximum number of messages
that can be stored
- A threshold is a limit that
triggers message paging, flow control, and logged warnings, using:
- Upper and lower values for the
number of bytes
- Upper and lower values for the
number of messages
125.Difference between “Durable Subscribers and Subscriptions”?
- Durable subscribers register
durable subscriptions for guaranteed message delivery even if the
subscribers are inactive.
- A subscriber is considered active
if the Java object that represents it exists.
- By default, subscribers are
nondurable.
- Administrators configure:
- Where the messages are persisted
- Persistent connection factories
and destinations
126.What is “Persistent Messaging”? When to Use it?
- Persistent messaging permits
messages in memory to be written out to a persistent store.
- Configure persistent messaging
if:
- Development requires durable
subscriptions (use durable subscribers in the application)
- You require that in-progress
messages persist across server restarts
127.How will you Configuring a Durable Subscription in Weblogic?
- To configure durable
subscriptions, an administrator must:
- Create and configure a JMS store
- Configure connection factories
or destinations as persistent
- Associate the JMS store with the
JMS server
- The JMS store can be configured
to use either:
- A file store
- A JDBC store (a connection pool)
128.How a Durable Subscription Works?
- If a subscriber client is active,
messages are delivered normally.
- When the client becomes active
again, its ID is used to retrieve and redeliver messages.
129.What Node manager can do in Weblogic server?
You can use Node Manager to:
- Start, shut down, and restart an
Administration Server
- Start, shut down, suspend, and
restart Managed Servers
- Automatically restart the
Administration and Managed Servers on failure
- Monitor servers and collect log
data
130.Does the WebLogic JMS server find out about closed or lost
connections,
crashes, and other problems and does it recover from them?
crashes, and other problems and does it recover from them?
Yes, but how it does this depends on whether a Java client
crashes or WebLogic Server crashes, as follows:
- If a Java client crashes then the
JMS server will clean up all the outstanding server-side resource from the
crashed client JVM, such as:
- JMS connection(s) from the crashed
client JVM
- JMS temporary destination(s)
created under the above JMS connection(s)
- JMS session(s) created under the
above JMS connection(s)
- JMS client(s) created under the
above JMS session(s) (connection consumer and regular consumer)
- JMS browser(s) created under the
above session(s)
- JMS producer(s) created under the
above session(s)
- If WebLogic Server crashes and it
is the front-end to the JMS server, then:
- A JMS client will lose all the
server-side resources listed above.
- The client's
javax.jms.ExceptionListener.onException(...) will be called (if
javax.jms.JMSConnection.setExceptionListener is set) with a
LostServerException, which extends JMSException.
- If WebLogic server crashes and it
is a back-end to the JMS server, then:
- A JMS client may partially lose
some of the server-side resources listed above (only the resource on the
crashed server, such as JMS temporary destination(s), JMS client(s) and
JMS browser(s).
- The client's
javax.jms.ExceptionListener.onException(...) will be called (if
weblogic.jms.extensions.WLSession.setExceptionListener is set) with a
ConsumerClosedException, which extends JMSException.
131.What Is the Java Message Service?
An enterprise messaging system enables applications to
communicate with one another through the exchange of messages. A message is a
request, report, and/or event that contains information needed to coordinate
communication between different applications. A message provides a level of
abstraction, allowing you to separate the details about the destination system
from the application code.
The Java Message Service (JMS) is a standard API for accessing enterprise messaging systems. Specifically, JMS:
The Java Message Service (JMS) is a standard API for accessing enterprise messaging systems. Specifically, JMS:
- Enables Java applications sharing
a messaging system to exchange messages
- Simplifies application development
by providing a standard interface for creating, sending, and receiving
messages
132.How many Messaging Modules are available in Weblogic?
JMS supports two messaging models: point-to-point (PTP) and
publish/subscribe (pub/sub). The messaging models are very similar, except for
the following differences:
- PTP messaging model enables the
delivery of a message to exactly one recipient.
- Pub/sub messaging model enables
the delivery of a message to multiple recipients.
133.Explain about Point-to-Point Messaging?
The point-to-point (PTP) messaging model enables one application
to send a message to another. PTP messaging applications send and receive
messages using named queues. A queue sender (producer) sends a message to a
specific queue. A queue receiver (consumer) receives messages from a specific
queue.
134.Explain about Publish/Subscribe Messaging?
The publish/subscribe (pub/sub) messaging model enables an
application to send a message to multiple applications. Pub/sub messaging
applications send and receive messages by subscribing to a topic. A topic
publisher (producer) sends messages to a specific topic. A topic subscriber
(consumer) retrieves messages from a specific topic.
135.Explain about Message Persistence?
As per the “Message Delivery Mode” section of the JMS
Specification, messages can be specified as persistent or non-persistent:
- A persistent
message is
guaranteed to be delivered once-and-only-once. The message cannot be lost
due to a JMS provider failure and it must not be delivered twice. It is
not considered sent until it has been safely written to a file or
database. WebLogic JMS writes persistent messages to a WebLogic persistent
store (disk-base file or JDBC-accessible database) that is optionally
targeted by each JMS server during configuration.
- Non-persistent
messages are not stored.
They are guaranteed to be delivered at-most-once, unless there is a JMS
provider failure, in which case messages may be lost, and must not be
delivered twice. If a connection is closed or recovered, all
non-persistent messages that have not yet been acknowledged will be
redelivered. Once a non-persistent message is acknowledged, it will not be
redelivered.
136.Topics vs. Queues?
Surprisingly, when you are starting to design your application,
it is not always immediately obvious whether it would be better to use a Topic
or Queue. In general, you should choose a Topic only if one of the following
conditions applies:
- The same message must be
replicated to multiple consumers.
- A message should be dropped if
there are no active consumers that would select it.
- There are many subscribers, each
with a unique selector.
It is interesting
to note that a topic with a single durable subscriber is semantically similar
to a queue. The differences are as follows:
- If you change a topic selector for
a durable subscriber, all previous messages in the subscription are
deleted, while if you change a queue selector for consumer, no messages in
the queue are deleted.
- A queue may have multiple
consumers, and will distribute its messages in a round-robin fashion,
whereas a topic subscriber is limited to only one consumer.
137.Asynchronous vs. Synchronous Consumers?
In general, asynchronous (onMessage) consumers perform and scale
better than synchronous consumers:
- Asynchronous consumers create less
network traffic. Messages are pushed unidirectionally, and are pipelined
to the message listener. Pipelining supports the aggregation of multiple
messages into a single network call.
Note: In
WebLogic Server, your synchronous consumers can also use the same efficient
behavior as asynchronous consumers by enabling the Prefetch Mode for
Synchronous Consumers option on JMS connection factories
- Asynchronous consumers use fewer
threads. An asynchronous consumer does not use a thread while it is
inactive. A synchronous consumer consumes a thread for the duration of its
receive call. As a result, a thread can remain idle for long periods,
especially if the call specifies a blocking timeout.
- For application code that runs on
a server, it is almost always best to use asynchronous consumers,
typically via MDBs. The use of asynchronous consumers prevents the application
code from doing a blocking operation on the server. A blocking operation,
in turn, idles a server-side thread; it can even cause deadlocks.
Deadlocks occur when blocking operations consume all threads. When no
threads remain to handle the operations required unblocking the blocking
operation itself, that operation never stops blocking.
138.What is a Distributed Destination?
A distributed destination is a set of destinations (queues or
topics) that are accessible as a single, logical destination to a client. A
distributed destination has the following characteristics:
- It is referenced by its own JNDI
name.
- Members of the set are usually
distributed across multiple servers within a cluster, with each
destination member belonging to a separate JMS server.
139.Why Use a Distributed Destination?
Applications that use distributed destinations are more highly
available than applications that use simple destinations because WebLogic JMS
provides load balancing and failover for member destinations of a distributed
destination within a cluster. Once properly configured, your producers and
consumers are able to send and receive messages through the distributed
destination. WebLogic JMS then balances the messaging load across all available
members of the distributed destination. When one member becomes unavailable due
a server failure, traffic is then redirected toward other available destination
members in the set.
140.How many Types of Distributed Destinations
are available?
- Uniform Distributed Destinations
- Weighted Distributed Destinations
Uniform Distributed Destinations
In a uniform distributed destination (UDD), each of the member destinations has a consistent configuration of all distributed destination parameters, particularly in regards to weighting, security, persistence, paging, and quotas.
Oracle recommends using UDDs because you no longer need to create or designate destination members, but instead rely on WebLogic Server to uniformly create the necessary members on the JMS servers to which a UDD is targeted. This feature of UDDs provides dynamic updating of a UDD when a new member is added or a member is removed.
Weighted Distributed Destinations
In a weighted distributed destination, the member destinations do not have a consistent configuration of all distributed destination parameters, particularly in regards to weighting, security, persistence, paging, and quotas.
Oracle recommends converting weighted distributed destinations to UDDs because of the administrative inflexibility when creating members that are intended to carry extra message load or have extra capacity (more weight). Lack of a consistent member configuration can lead to unforeseen administrative and application problems because the weighted distributed destination cannot be deployed consistently across a cluster.
In a uniform distributed destination (UDD), each of the member destinations has a consistent configuration of all distributed destination parameters, particularly in regards to weighting, security, persistence, paging, and quotas.
Oracle recommends using UDDs because you no longer need to create or designate destination members, but instead rely on WebLogic Server to uniformly create the necessary members on the JMS servers to which a UDD is targeted. This feature of UDDs provides dynamic updating of a UDD when a new member is added or a member is removed.
Weighted Distributed Destinations
In a weighted distributed destination, the member destinations do not have a consistent configuration of all distributed destination parameters, particularly in regards to weighting, security, persistence, paging, and quotas.
Oracle recommends converting weighted distributed destinations to UDDs because of the administrative inflexibility when creating members that are intended to carry extra message load or have extra capacity (more weight). Lack of a consistent member configuration can lead to unforeseen administrative and application problems because the weighted distributed destination cannot be deployed consistently across a cluster.
0 comments:
Post a Comment