TIBCO EMS FAQ

How to coordinate the ft_reconnect_timeout value with ReconnAttempCount and ReconnAttemptDelay? when you are configuring FT of EMS with Shared State?

-     Ft_reconnect_timeout: The amount of time (in seconds) that a backup server waits for clients to reconnect . If a client does not reconnect within this time period, the server removes its state from the shared state files. It starts once the server has fully recovered the shared state. The default is 60.

-     reconnect_attempt_count: When attempting to reconnect, the client iterates through its URL list until it re-establishes a connection with an EMS server. This property determines the maximum number of iterations. When absent, the default is 4.

-     reconnect_attempt_delay: When attempting to reconnect, the client sleeps for this interval (in milliseconds) between iterations through its URL list. When absent, the default is 500 milliseconds


What are the different types of acknowledgement modes in EMS message delivery ?

• Auto
• Client
• Dups_ok
• No_ack
• Explciit
• Explicit_client_dups_ok
• Transitional
• Local transitional.

What are the different types of messages that can be used in EMS ?
• Text
• Simple
• Bytes
• Map
• XML test
• Object
• Object ref
• Stream

Tell me about bridges.Why do we use them, Syntax to create bridges, use of message selector ?

Some applications require the same message to be sent to more than one destination possibly of different types. So we use bridges.

What is the purpose for stores.conf ?

a. This file defines the locations either store files or a database, where the EMS server will store messages or metadata.
b. Each store configured is either a file-based or a database store.

How many modes are the messages written to store file ?

2 modes.. sync or async. When absent , the default is async

What is tibemsd.conf ?

It is the main configuration file that controls the characteristics of the EMS server

How many delivery modes for messages?

Persistent, Non-persistent, Reliable-delivery.

What is the maximum message size?

Ems supports max message size of 512 mb

Name 3 destination properties and explain them ?

Global, secure, maxmsgs, maxbytes, flowcontrol, sender_name, sender_name_enforced, trace,maxRedelivery

What are the different modes of installation in Ems?

a. GUI mode
b. Console mode
c. Silent mode

What are the messaging models supported by JMS ?
a. Point-to-point
b. Publish-subscribe
c. Multicast

Tell me about routes ?

What is the purpose of routes, what kind of destinations can be used in routes? Topics and queues m-hops

What happens if the message expires/exceeded the value specified by maxredelivery property on queue?

If the jms_preserve_undelivered property is set to true, then it moves the message to undelivered message queue, if set to false, the message is deleted by the server.

In how many ways can a destination be created?

a. Static-created by user
b. Dynamic-created by ems server on the fly.
c. Temporary destinations.

What are the wild cards that we use in ems?how do they work for queues and topics ?

*,>
U can subscribe to wildcard topics but cant publish to them. Where as in case of queues we can’t either send /receive.

Are bridges transitive?

NO

Tell me about flow control on destinations ?

Some times the producer may send messages faster than the consumers can receive them. So, the message capacity on the server will be exhausted. So we use flow control. Flow control can be specified on destinations.

Tell me about flow control on bridges and routes ?

Flow control has to be specified on both sides of bridges where as on routes it operates differently on sender side and receiver side.

Name 3 configuration files and tell me what it consists of ?

a. Queues.conf
b. Topics.conf
c. Routes.conf
d. Factories.conf
e. Stores.conf
f. Groups.conf,users.conf,transports.conf

Name some administrative level destination properties ?

a. View
b. Create
c. Delete
d. Modify
e. Purge

How can you change the configuration properties of EMS server ?

You can change in the tibemsd.conf file or you can change using the ems admin console.

What are the permissions that you can grant to users to access queues ?

a. Receive
b. Send
c. Browse

What are the permissions that you can grant to users to access topics ?

a. Subscribe
b. Publish
c. Durable
d. Use_durable

Tell me about multicasting in EMS ?

a. Multicast is a messaging model that broadcasts messages to many consumers at once rather than sending messages individually to each consumer. EMS uses Pragmatic general multicast to broadcast messages published to multicast enabled topics.
b. Each multicast enabled topic is associated with a channel.

What are the advantages and disadvantages of multicasting ?

a. Advantages: as the message broadcasts only once thereby reducing the amount of bandwidth used in publish and subscribe model. Reduces the network traffic.
b. Disadvantages: Offers only last-hop delivery. So can’t be used to send messages between servers.

On what destinations can you use multicast?

Topics

Suppose, you got an error while accessing a queue, that you don’t have necessary permissions to access the queue. What might be the solution/reason?

The user that is assigned to the queue and the user used while creating.

How does the secondary server know that the primary server is failed?

Based on heartbeat intervals

What is JMS queue requestor?

The JMS Queue Requestor activity is used to send a request to a JMS queue name and receive a response back from the JMS client.

What is JMS topic requestor?

The JMS Topic Requestor activity is used to communicate with a JMS application’s request-response service. This service invokes an operation with input and output. The request is sent to a JMS topic and the JMS application returns the response to the request.

How do you add ems server to administrator?

Using domain utility

How do you remove individual messages from destinations?

Using purge command.


EMS - Is it a major concern that our async-msgs.db file is 6GB and growing?



Run the following commands with the tibco administrator console and share output.
info
show db
show store $sys.failsafe
show queues
show topics

If you use PERSISTENT messages (depends on your publisher) all messages are written to a data store file. If you use NON_PERSISTENT or RELIABLE they only end up there when swapping occurs (show db will tell).

Once they are consumed by the message consumer and acknowledge the acknowledgement also gets written to the storage file and the blocks used by the acknowledge messages are internally marked by EMS as 'available for re-use'. When a consequent message is published and it fits into that space (there is more to it like colescating and buffer considerations) then those blocks are re-used.

So maybe you have a queue to which there had been a backlog once upon a time and you never issued compact command.
Or maybe you have a topic with a durable that no one uses and keeps on holding copies of messages. show topics will tell if that is the case.
So you may want to consider running the compact compact during low activity. And specify timeout - whatever you can affort like 30 seconds, 1 minute, 5 minutes.






2 comments: