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.
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:
- For enabling the MQ Web console, the jetty (HTTP) server needs to be started on the peer profile.
- Open Profile. Navigate to {PROFILE_NAME} > Fiorano > etc > JettyServer. Set EnableStart to true and set port number if the default need to be changed.
- 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.
- 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).