<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3930606664918446309</id><updated>2012-01-31T15:59:54.442-05:00</updated><category term='disk-cache'/><category term='sonicmq'/><category term='progress'/><title type='text'>Nuri Besen's Blogs</title><subtitle type='html'>Issues related to Java world I encounter from MARTI</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://nuribesen.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://nuribesen.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nuri Besen</name><uri>http://www.blogger.com/profile/02660606544744383990</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3930606664918446309.post-1457063193243210704</id><published>2008-12-08T01:16:00.005-05:00</published><updated>2008-12-08T01:25:50.056-05:00</updated><title type='text'>Pausing Progress Sonic ESB Service</title><content type='html'>I recently needed a feature in Sonic ESB where the ESB Service needed to be paused for a period of time.&lt;br /&gt;&lt;br /&gt;For the versions of ESB until v7.6, I could not pause the service and leave the messages in the entry point (queue in my case). In v7.6, which is the current version, the interface, XQLifeCycleManager, provides a start/stop functionality.&lt;br /&gt;&lt;br /&gt;So, for the previous versions, in the service method, I paused the service before it handles the message as:&lt;br /&gt;&lt;br /&gt;synchronized (SERVICE_LOCK) {&lt;br /&gt;&lt;br /&gt;if (processMessages==false) {&lt;br /&gt;&lt;br /&gt;xqLog.logDebug("entering service lock at:"+new Date());&lt;br /&gt;&lt;br /&gt;while (processMessages==false) {&lt;br /&gt;&lt;br /&gt;try { SERVICE_LOCK.wait(SERVICE_LOCK_PERIOD); } catch (InterruptedException e) { } }&lt;br /&gt;&lt;br /&gt;xqLog.logDebug("exiting service lock at:"+new Date());&lt;br /&gt;&lt;br /&gt;} // processMessages&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;while (serviceContext.hasNextIncoming()) {&lt;br /&gt;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3930606664918446309-1457063193243210704?l=nuribesen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nuribesen.blogspot.com/feeds/1457063193243210704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3930606664918446309&amp;postID=1457063193243210704' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/1457063193243210704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/1457063193243210704'/><link rel='alternate' type='text/html' href='http://nuribesen.blogspot.com/2008/12/pausing-progress-sonic-esb-service.html' title='Pausing Progress Sonic ESB Service'/><author><name>Nuri Besen</name><uri>http://www.blogger.com/profile/02660606544744383990</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3930606664918446309.post-4641765108279896483</id><published>2008-12-01T00:59:00.002-05:00</published><updated>2008-12-01T01:24:08.012-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='sonicmq'/><category scheme='http://www.blogger.com/atom/ns#' term='disk-cache'/><title type='text'>Testing the disk-write affects for Progress SonicMQ</title><content type='html'>&lt;div&gt;When using Progress SonicMQ, you can get different performance results on different platforms. Some of these differences can be explained with the disk setups used for the recovery logs. The documentation, mq_tuning.pdf, that comes with the installation has very good explanations for some of the general factors on pages 79 and 82, and I would recommend it as a reading if evaluating performance issues.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;One of the issues, disk-caching, performed by the OS can be the factor you might be looking for. As the documentation indicates, the cache can increase performance but also might cause data-loss in case of failure. On a laptop windows XP system, the config screen might look as in the attachment. To evaluate your system, Progress provides a very useful stand-alone, pure-java testing code for disk performance simulating the real usage from their code-share site. I am attaching the code for quick review but the full package can be retreived from the Progress site. &lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;&lt;a class="tabcontent" id="publishedDocumentUrl" href="http://docs.google.com/Doc?id=dxbpvf5_0hnjfxwk2" target="_blank"&gt;http://docs.google.com/Doc?id=dxbpvf5_0hnjfxwk2&lt;/a&gt; &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://1.bp.blogspot.com/_Cn6oM8P8r1c/STOAgheB5WI/AAAAAAAAAAM/Va98wV8aKwM/s1600-h/win_config.gif"&gt;&lt;img id="BLOGGER_PHOTO_ID_5274700884809475426" style="WIDTH: 284px; CURSOR: hand; HEIGHT: 320px" alt="" src="http://1.bp.blogspot.com/_Cn6oM8P8r1c/STOAgheB5WI/AAAAAAAAAAM/Va98wV8aKwM/s320/win_config.gif" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;The line "fd.sync();" is the actual place where the cache matters. You can run the test with this commetted out and see much different results especially if caching is enabled.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Although other factors, like disk block size, remote-disks, disk speed, queue save thresholds can be tuned, the disk-caching can be tested fairly fast and easily to see it affects. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3930606664918446309-4641765108279896483?l=nuribesen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nuribesen.blogspot.com/feeds/4641765108279896483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3930606664918446309&amp;postID=4641765108279896483' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/4641765108279896483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/4641765108279896483'/><link rel='alternate' type='text/html' href='http://nuribesen.blogspot.com/2008/12/testing-disk-write-affects-for-progress.html' title='Testing the disk-write affects for Progress SonicMQ'/><author><name>Nuri Besen</name><uri>http://www.blogger.com/profile/02660606544744383990</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_Cn6oM8P8r1c/STOAgheB5WI/AAAAAAAAAAM/Va98wV8aKwM/s72-c/win_config.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3930606664918446309.post-8439273624315441044</id><published>2007-10-26T09:11:00.000-05:00</published><updated>2007-10-26T09:15:17.917-05:00</updated><title type='text'>Oracle DB User and Password with Turkish Characters</title><content type='html'>If you have ever put turkish characters in your username and/or password for your DB and tried to use it thru an application, you might have gotten:&lt;br /&gt;&lt;br /&gt;java.sql.SQLException: ORA-01017: invalid username/password; logon denied&lt;br /&gt;&lt;br /&gt;This is due to the fact that oracle JDBC driver does a local insensetive upper case and therefore the turkish characters gets converted incorrectly.&lt;br /&gt;&lt;br /&gt;For example, if your username had 'kaşmir' this should be converted to 'KASMIR' but gets converted to 'KAŞMİR' and therefore not supported.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3930606664918446309-8439273624315441044?l=nuribesen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nuribesen.blogspot.com/feeds/8439273624315441044/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3930606664918446309&amp;postID=8439273624315441044' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/8439273624315441044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/8439273624315441044'/><link rel='alternate' type='text/html' href='http://nuribesen.blogspot.com/2007/10/oracle-db-user-and-password-with.html' title='Oracle DB User and Password with Turkish Characters'/><author><name>Nuri Besen</name><uri>http://www.blogger.com/profile/02660606544744383990</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3930606664918446309.post-6357970309497508532</id><published>2007-10-25T21:52:00.001-05:00</published><updated>2007-10-25T21:52:56.705-05:00</updated><title type='text'>Increasing Progress SonicMQ Client Performance</title><content type='html'>Progress SonicMQ is a Java Message Service (JMS) implementation. The client performance can be improved by using prefetch and prefetch_threshold parameters. The default values for the parameters are 3 and 1 respectively.&lt;br /&gt;&lt;br /&gt;What these parameters are used for is to reduce the network traffic by grapping 3 messages (if available) from the queue with one network request instead of 1 message per request. The threshold is used for filling the local client buffer before the next message processing requests a message.&lt;br /&gt;&lt;br /&gt;One misconception with this is that, if there are two receivers for one destination, and lets say 6 messages in it, the first receiver will get the first 3 messages and the second one will get the next 3 messages from the queue. This does not mean the message is processed, but just retreived from the queue. If the client does not acknowledge these message, they are returned back to the queue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3930606664918446309-6357970309497508532?l=nuribesen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nuribesen.blogspot.com/feeds/6357970309497508532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3930606664918446309&amp;postID=6357970309497508532' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/6357970309497508532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/6357970309497508532'/><link rel='alternate' type='text/html' href='http://nuribesen.blogspot.com/2007/10/increasing-progress-sonicmq-client.html' title='Increasing Progress SonicMQ Client Performance'/><author><name>Nuri Besen</name><uri>http://www.blogger.com/profile/02660606544744383990</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3930606664918446309.post-6210121467897321752</id><published>2007-10-24T09:39:00.000-05:00</published><updated>2007-10-24T09:42:10.591-05:00</updated><title type='text'>BEA Weblogic 8.1 and Hibernate 3.x new SQL Parser</title><content type='html'>Hibernate 3.x uses new sql parser for HQL by default that requires antlr.jar. BEA also uses the same parser for EJB-QL. The problem is that because WL loads the its own version of the jar file before your application, and therefore a different and older version of jar is loaded.&lt;br /&gt;&lt;br /&gt;Your application encounters "org.hibernate.QueryException: ClassNotFoundException" for “org.hibernate.hql.ast.HqlToken” even though you include the antlr.jar file from hibernate distribution.&lt;br /&gt;&lt;br /&gt;This issue is addressed in the hibernate document site at:&lt;br /&gt;&lt;a title="http://www.hibernate.org/250.html" href="http://www.hibernate.org/250.html"&gt;http://www.hibernate.org/250.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The easy way this can be resolved is by modifying the startWeblogic script and include your own jar file in the beginning of the classpath so yours gets loaded before the BEA’s jar file.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3930606664918446309-6210121467897321752?l=nuribesen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nuribesen.blogspot.com/feeds/6210121467897321752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3930606664918446309&amp;postID=6210121467897321752' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/6210121467897321752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/6210121467897321752'/><link rel='alternate' type='text/html' href='http://nuribesen.blogspot.com/2007/10/bea-weblogic-81-and-hibernate-3x-new.html' title='BEA Weblogic 8.1 and Hibernate 3.x new SQL Parser'/><author><name>Nuri Besen</name><uri>http://www.blogger.com/profile/02660606544744383990</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3930606664918446309.post-4222535579628615708</id><published>2007-03-09T04:17:00.000-05:00</published><updated>2007-03-09T04:18:55.933-05:00</updated><title type='text'>Test Issue</title><content type='html'>Hello World...standard, what you expect!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3930606664918446309-4222535579628615708?l=nuribesen.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://nuribesen.blogspot.com/feeds/4222535579628615708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3930606664918446309&amp;postID=4222535579628615708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/4222535579628615708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3930606664918446309/posts/default/4222535579628615708'/><link rel='alternate' type='text/html' href='http://nuribesen.blogspot.com/2007/03/test-issue.html' title='Test Issue'/><author><name>Nuri Besen</name><uri>http://www.blogger.com/profile/02660606544744383990</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
