MQ
11.0 10.3 10.2
11.0 10.3 10.2

Chapter 40: Frequently Asked Questions

This chapter contains compilations of information which are usually the result of certain questions constantly being asked.

If you do not see your question here, feel free to post it to customer support.

Which jar file is used to run client applications in distributed environment apart from jms.jar?

You can use the aggregated jars fmq\lib\client\all\fmq-client.jar and framework\lib\all\fiorano-framework.jar to run client applications in distributed environment.


How to set log levels in a client application?

Enable Tracing in Clients, launch the client by setting the system property for any module for which the user wants to enable tracing.
Example: DCSP = 5, when this system property is enabled in the client side then user can view trace messages in the client itself.


How to set default property values for dynamically created Queue?

By default, all the parameters present in Queue are also present in QueuingSubSystem. In QueuingSubSystem for all properties present in Queue default values are -1 for numerical values and default value is 'DEFAULT' for boolean represented values. If these values are default values then whatever the values user set in Queue configuration property sheet will be taken. Otherwise, that particular property value from QueuingSubSystem will be taken into account even though that value is modified locally for a particular queue. If the value of a particular parameter is modified to some other non-default value in QueuingSubSystem then that value will be written for all other existing queues in the server. If that value is modified again in QueuingSubSystem then the last value written for that queue will be considered. For example the value of 'InMemoryBufferSize' in all Queues by default is '1048576', if 'InMemoryBufferSize' is modified to 1024 in Queueingsubsystem, then that value will be written to all Queues. If the user modified this value to -1(default value) again then 1024 is taken for all queues and not the 1048576 (default value). If the user wants other than 1024 for a particular queue then he can modify it for a particular queue. Modifying parameters at QueuingSubSystem level will be useful only if most of the Queues contain same values for most of the properties other than default value.

Most of the parameters require a server restart and Studio will warn the user if he is changing any parameter which requires server restart.

If the value of a particular parameter is modified to some other non-default value in QueuingSubSystem then that value will be written for all other existing queues in the server. If that value is modified again in QueuingSubSystem to default value then the last value written for that queue is considered.


I cannot find any indication that the optional support for JMS priority ordering of messages is provided?

FioranoMQ has full support for priority based message queueing. The server ensures the sequence of delivery strictly based on the priority of the message i.e., all messages with higher priority get delivered first.


How messages are distributed when there are multiple QueueReceivers for the same Queue?

The default behaviour is roundrobin, but it can vary depending on your prefetching configuration and session level throttling during high traffic.


I offer a flow control mechanism, but it is only available for topics(pub/sub) not queues, why?

Several flow control mechanisms exist for PTP. The server is capable of throttling the sender when receive rate is slower than the send rate on the queue. The extent of such throttle on the sender is configurable. Server behavior in case it runs out of buffer space for nonpersistent messages is also configurable. When message prefetching is in use, the prefetch threshold and prefetch count are also configurable to maximize throughput.


List the vender specific error codes which can be populated asErrorcode field of JMSException, thrown to a JMS Client.?

The following list contains the entire vendor specific JMSExceptions.

Exception

Description

VERSION_INCOMPATIBILITY_ERROR

There has been a version mismatch between the Kernel and your Client application

INVALID_ARGUMENTS_ERROR

Invalid arguments passed to the method

INVALID_ACKNOWLEDGMENT_MODE_SPECIFIED

Invalid Acknowledgment Mode specified

INVALID_ADMINISTERED_OBJECT

Error encountered while accessing the administered object

INVALID_TIMEOUT_SPECIFIED_FOR_MONITOR

Ttimeout specified for a monitor cannot be less than 10 sec

UNABLE_TO_CREATE_USER_OR_GROUP_WITH_EMPTY_NAME

Unable to create user/group with name as empty string

INVALID_CONFIGURATION_OPTION_USED

Invalid Configuration Option used

INVALID_DESTINATION_HANDLE

Destination Handle is invalid

INVALID_LOOKUP_ERROR

Invalid type specified for lookup

INVALID_SUBSCRIPTION_NAME

Invalid Subscription name

NO_PRINCIPAL_SPECIFIED

ACL Owner is not specified

LM_INVALID_TARGET_FILE

Target file specified in the message is not valid

LM_INVALID_SOURCE_FILE

Source file specified in the message is not valid

CLASS_NOT_FOUND_EXCEPTION

Particular class not found

NAME_OF_THE_CLASS_PASSED_IS_INVALID

Name of the class passed is Invalid

SECURITY_MANAGER_ERROR

Error loading installed Security Manager

INVALID_URL_FOR_CLIENT_PROXY_SPECIFIED

Invalid URL for Client Proxy Specified

INVALID_URL_FOR_SERVER_PROXY_SPECIFIED

Invalid URL for Server Proxy Specified

PROVIDER_URL_PARSING_ERROR

Error encountered while trying to parse the Provider URL

SECURITY_EXCEPTION_ERROR

Security Exception occurred

ERROR_PUBLISHING_MESSAGE

Message could not be published

CREATE_DURABLE_SUBSCRIBER_FAILURE

Cannot create a durable subscriber on a temporary topic

OPERATION_UNSUPPORTED_ERROR

This operation is not supported presently.

LM_CSP_ENABLED

Large message transfer not allowed when CSP is enabled

UNBOUND_CONTEXT_ERROR

InitialContext is null:: Not bound

NOT_OWNER_ERROR

Specified principal is not an owner of the ACL

ACKNOWLEDGE_FAILURE_ERROR

Failed to acknowledge the message, some exception occurred.

BIND_FAILURE_ERROR

Error encountered while trying to execute bind call.

CLASS_NOT_INITIALIZED_EXCEPTION

Class has not been initialized

DCONNECTION_CONSUMER_COMMIT

Unable to commit messages for durable connection consumer

CONNECTION_CREATION_FAILURE_ERROR

Error encountered while trying to create a new connection

CONNECTION_DESTROY_FAILURE_ERROR

Error encountered while trying to destroy the connection abnormally

ERROR_COMMITTING_SESSION

Session could not be committed

FAILED_TO_WAIT_ON_OBJECT

Error encountered while waiting on an object to be notified

LEAST_LOADED_SERVER_CALCULATION_ERROR

Failed to calculate the least loaded server

CONSUMER_STARTUP_FAILURE_ERROR

Error encountered while trying to start the consumer

DCONNECTION_CONSUMER_ROLLBACK

Unable to rollback messages for durable connection consumer

DCONNECTION_CONSUMER_START

Unable to start durable connection consumer

OBJECT_WRITE_FAILURE_ERROR

Error encountered while trying to write the object

UNABLE_TO_LOAD_CLASS

Unable to find [or create instance of] class

SECURITY_MANAGER_ERROR

Error loading installed Security Manager

EXECUTE_JOB_ERROR

Error encountered while trying to execute SendJob

MESSAGE_PROPERTY_SET_ERROR

Unable to set a header or property field for the message

LM_UNABLE_TO_RESUME_RECEIVE

Exception occurred while resuming receive

LM_TRANSFER_CANCELLED

Transfer forcefully canceled by the user

LM_TRANSFER_STOPPED

Transfer forcefully stopped by the user

PINGER_NOT_STARTED

Pinger is not started

LM_READ_DATA_ERROR

Exception occurred while reading data from source file

LM_WRITE_DATA_ERROR

Exception occured while writing data on the target file

SERVER_HANDSHAKE_ERROR

Problem in handshaking with the server

LM_UNABLE_TO_SAVE_TARGET_FILE

Unable to save target file. Probably, there is not enough disk space available.

ERROR_KRPC_INITIALIZATION

Problem in initializing krpc

LOCALHOST_CONFIGURATION_LOADING_ERROR

Error encountered while trying to load localhost configuration.

SERVICE_ID_WRITE_FAILURE

Failed in writing the Service ID to Kernel

MESSAGE_READ_ERROR

Error encountered while trying to read the message

SET_NAGLES_BIT_FAILURE_ERROR

Error encountered while trying to set the Nagles bit

CONSUMER_STOP_TIMEOUT

Unable to stop the consumer's delivery of messages to the listener within specified timeout.

SESSION_STOP_TIMEOUT

Unable to stop the session's delivery of messages to the listener within specified timeout.

LM_REQUEST_TIMEOUT

No request received from any consumer in the given time

USER_THREAD_INTERRUPT_ERROR

User Thread performing the operation interrupted

KERNEL_IO_ERROR

Kernel I/O error occurred

ERROR_PUBLISHING_MESSAGE_GROUP

Unable to send message group to the server

PUBLISH_FAILURE_RECONNECT_ACTIVE

Failed to send the messages as the connection with the server is down. However, client is attempting to reconnect to the server

NULL_SOCKET_ENCOUNTERED

Socket is null.



When running multiple Publisher/Subscriber applications, while closingSubcribers we get an exception

Exception resembles the following:
"Unable to stop the consumer's delivery of messages to listener within specified timeout. :: Message delivery took longer then 30,000."

This is a harmless exception. This usually occurs when subscriber.close() is called and the subscriber is not able to deliver the message within 30 seconds to the message listeners. Further, there will not be any message loss because of this exception.


How to enable the FioranoMQ web console (on port 1780).

To enable the FioranoMQ Webconsole on port 1780, perform the following steps:

  1. For enabling the MQ Web console, the jetty (HTTP) server needs to be started on the peer profile.

  2. Open Profile. Navigate to {PROFILE_NAME} > Fiorano > etc > JettyServer. Set EnableStart to true and set port number if the default need to be changed.

  3. If Standalone Peer Profiles are being used, then the Enterprise Server's Peer Repository needs to be cleaned up before the Peer is started up. If Peer is run in HA Mode, then this step can be skipped. HA Profile is configured to always push the configuration with the FES and standalone servers pull the profile and replace its own from the FES repository.

  4. When the peer starts up you should see a line stating that webconsole is available in 1780 port.


I see a lot in the profiles about RDBMS usage for the MQ. I don't want to draw the wrong conclusion from it, but should I take the PTP/PUBSUB storage in an RDBMS is supported?

MQ PTP/Pub sub Persistence store can be configured as RDBMS Store as well. The only caution I would like to throw in here is the Message Delivery performance of the server will be affected by choosing a RDBMS based store over the default file based store which is tailor made for high performance.


Once a new Dispatcher member in the server is created, the Dispatcher member server MBeans is not visible in the Fiorano Studio or JMX View of web console?

The MBeans related to the configuration objects for the newly added dispatcher member servers are only created at the time of start-up of the server.
Therefore, they will not be listed in the JMX View of Studio/WebConsole until the server is restarted. These configuration MBeans include those for Dispatcher (new servers), Repeater (new links or new topic configurations) and Bridge (new links or new channels).