Posted: Mon Feb 17, 2014 12:09 pm Post subject: WMB multi instance flows making JDBC connections
Newbie
Joined: 17 Feb 2014 Posts: 2
Hi,
I have developed a message flow which has 2 nodes:
MQ Input --> Java Compute Node
The Java compute node gets certain fields from the incoming message and inserts a row using a prepared statement to Oracle DB using a custom java class. The custom java class creates a JDBC type 4 connection to the DB. This flow runs fine as long as there are few messages on the queue.
I tried a load test today by placing 5000 msgs in the queue to see how the flow performs. After writing about 1500 msgs to the DB, I started seeing "ORA-1000 Too many open cursors" error written in the log file. After reading the other forums and doing some investigation like monitoring the open cursors, I realized that Broker handles the JDBC connections but it leaves the management of prepared statements to the user custom code. So I added a preparedstatement.close() to the code and now the 5000 msgs were logged to the DB just fine.
This message flow is meant to be called by several services, so I want to increase the throughput of this flow. I increased the number of instances on the message flow to 5 and ran the same test again with 5000 msgs. This time only 4300 msgs get logged and I see the following messages repeatedly in the trace file
I have added a trace node to print the msgs at the failure terminal, it shows the following:
I am trying to find if I missing something obvious here. It seems to me that WMB is not managing the JDBC connections well when they are additional instances.
I believe you may be having some expections on some db handling especially in the transactional behavior that are simply not true. Think about what is happening and why that might be happening. If you still think the broker should behave differently open a PMR and tell us what the answer was.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum