lunes, 30 de junio de 2014

IBM Integration Bus (Message Broker) resources

Steps to configure an Oracle ODBC data source on Windows: "Connecting to a database from Windows systems". Includes necessary steps like "Select Enable SQLDescribeParam", "Select Procedure Returns Results", "Select Login Timeout and set the value to 0" and the WorkArounds registry string with 536870912 value, which you may forget, causing you unnecesary pain and suffering. Personally, I was struggling with the '[IBM][ODBC Oracle Wire Protocol driver]Data type for parameter x has changed since first SQLExecute call.' error (which always ocurred the second time I executed an specific flow, and that was caused by the lack of the registry key) and the very generic "[Microsoft][ODBC Driver Manager] Driver does not support this function" error (forum references: first SQLExecute call Error and ODBC Oracle Wire Protocol driver Error).

SQLSTATE explanation: ESQL: What is the SQLSTATE?

Explanation about the difference between a REFERENCE to OutputRoot and the real OutputRoot: "Message Headers not getting copied to output" 3rd post (useful when you use "IN REFERENCE OutputRoot" in functions or procedures)

Explanation of the logic behind "All calls to CURRENT_TIMESTAMP within the processing of one node are guaranteed to return the same value":  "a node is an interruption to the execution path of a message. At the time the node is called, the thread is suspended and a call to get current timestamp retrieves the time value stored in the environment at the time the execution path was interrupted. If you want to measure time between certain points within your ESQL logic of the same node, you can do so by calling Date.getTime() Java api call from ESQL" (source: Very strange issue with CURRENT_TIMESTAMPlancelotlinc user post).

List of Websphere Message Broker resources that changed its name in IBM Integration Bus: Do you want to know the new name of a WebSphere Message Broker resource that has changed its name in IBM Integration Bus v9?

Implicit casting rules from database data types to ESQL data types: Data types of values from external databases

Standard output (stdout) (Windows 7): C:\ProgramData\IBM\MQSI\components\[BROKER_NAME]\[ID]\console.txt

ESQL-to-Java data-type mapping table.

Log4j troubleshooting: keep an eye on the stdout file (console.txt, see above); when you call the initLogger method (com.ibm.broker.IAM3.Log4jNode.initLog4j) you should see a line like the following in that file:

2015-03-05 21:56:31.384     17 log4j:WARN Config file used: /C:/Lib/iib-log4j/conf/brokerlog.xml

You should also find there information about problems finding or parsing that file. If you have checked everything and still can't see logs entries in the log file, try using a tool like Process Explorer (for Windows; it shows you all file access events for all running process) and filter for events which "Path" contains some pattern your log file name has or just filter for events for "DataFlowEngine.exe" process name; look for example what I found in my case:


I was not aware that I was specifying the "File" param value for my file appender using backslashes (C:\Logs\xxx.log) which resulted in this file for IIB: C:\Program Files\IBM\MQSI\9.0.0.1\bin\Logsxxx.log. Once I changed the "File" param value for the windows path using slashes (C:/Logs/xxx.log) I could see events in my log file.

Dynamic Database Name and Multiple Database Support: IBM presentationAccessing databases from ESQL, "ESQL Enhancements Part 1" presentation (other link). The last link contains the syntax trees for UNCOORDINATED database references and DSN specific COMMITs and ROLLBACKs; I haven't found references and/or examples of that syntax in other places; the "The transactional model" section of the official documentation says you can use UNCOORDINATEDCOMMITs, ROLLBACKs in "Database auxiliary transactions", but I don't see this reflected in the syntax threes in that same documentation (IBM, why are you like this? :( ).

How to change the WebSphere MQ Explorer (from IIB 9)  language to english: add -Duser.language=en to C:\Program Files (x86)\IBM\WebSphere MQ Explorer\MQExplorer.ini (source).

ODBC SQLSTATE codes:
Example procedure to navigate a message tree (including the Exception List): Navigating a message tree (including the Exception List).

IBM Integration Bus (IIB) MQ retry and requeue tests.

IBM Integracion Bus (IIB) COMMIT, ROLLBACK and UNCOORDINATED tests.

DeverloperWorks' Top 12 IBM Integration Bus articles.


No hay comentarios: