Can anyone shed any light on this? I'm seeing an intermittent situation where the order in which the SQL table columns in the message generated by the NotifySQLTable notifier is inconsistent. I have not, however, been able to see any pattern (ESB release or DB used).
With this notification table definition:
UNIQUE_ID integer, STATUS_COL varchar(255), MESSAGECONTENTS varchar(1024), COLUMN1 varchar(255)
<action class="org.jboss.soa.esb.actions.Notifier" name="SQLNotificationTest"> <property name="okMethod" value="notifyOK"/> <property name="notification-details"> <NotificationList type="OK"> <target class="NotifySqlTable" connection-url="jdbc:mysql://localhost:3306/soaman" dataColumn="MESSAGECONTENTS" driver-class="com.mysql.jdbc.Driver" password="soaman" table="NOTIFICATIONS_TABLE" user-name="testing"> <column name="STATUS_COL" value="P"/> <column name="COLUMN1" value="abc"/> <column name="UNIQUE_ID" value="1234"/> </target> </NotificationList>
{UNIQUE_ID=1234, COLUMN1=abc, MESSAGECONTENTS=the message}
{UNIQUE_ID=1234, MESSAGECONTENTS=the message, COLUMN1=abc}
I think the column names are stored in a hashtable at some point along the way so their order is not guaranteed.