Hi Experts,
We are facing the below issues when trying to get the config value stored in a xml config file.
Error:
[B]pub.storage:get com.wm.app.b2b.server.ServiceException: Exception encountered trying to create shared lock for target/b,
exception(java.lang.StringIndexOutOfBoundsException: String index out of
range: -5)
and some times this issue pub.storage:deleteStore com.wm.app.b2b.server.ServiceException: Cannot aquire the lock
IS details:
IS - 7.1.2
JDBC Adapter - Version 6.5 and Fixes applied are JDBC_6-5_Fix19 & JDBC_6-5_Fix21
Fixes:
IS_7-1-2_Core_Fix10
IS_7-1-2_FlatFile_Fix3
IS_7-1-2_XA_Fix2
IS_7-1-2_Flow_Fix2
IS_7-1-2_WebSvcsXML_Fix8
IS_7-1-2_SrvPrtcl_Fix8
IS_7-1-2_PkgMgmt_Fix1
Please let us know the cause of these issues and let us know how to fix this issue.
Hmmm…this has more to do with design and oracle than webMethods. See how this setup works is that say i want to update a record on a table using the webMethods JDBC adapter. Now when the actual write operation needs to take place what the jdbc in the back end does is it gets an explicit lock on the row or table. Now for instance is some other service is reading data off that table at that exact moment the write operation would fail as it cannot acquire a lock on the table as the other service is already locked the resource.
Just double check if there is any other service trying to use the same table where you are trying to write data into.
[quote=nightfox;72181]
Hmmm…this has more to do with design and oracle than webMethods. See how this setup works is that say i want to update a record on a table using the webMethods JDBC adapter. Now when the actual write operation needs to take place what the jdbc in the back end does is it gets an explicit lock on the row or table. Now for instance is some other service is reading data off that table at that exact moment the write operation would fail as it cannot acquire a lock on the table as the other service is already locked the resource.
I guess the problem reported is for datastore (storage services), if i understood this correctly then …you should be aware that When a flow service retrieves an entry from a data store, the entry is locked for simultaneous modification by other users. The entry needs to be unlocked before the flow completes, remains locked until released via a put (pub.storage:put) or an explicit unlock (pub.storage:unlock) service call is invoked. hope it helps! nD
Use the waitlength parameter in pub.storage:get service to get data from data store … Also You can control how long Integration Server will wait to obtain a lock and how long it will hold a lock by using the following server properties: · You can change the lock wait by using the watt.server.storage.lock.maxWait property from the Settings>Extended Settings screen on the Integration Server Administrator. · You can change the lock duration by using the watt.server.storage.lock.maxDuration property from the Settings>Extended Settings screen on the Integration Server Administrator. Regards, NN