tag:blogger.com,1999:blog-10005971039890454572024-03-13T21:42:59.467-07:00Thoughts of Tim BishTimhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.comBlogger85125tag:blogger.com,1999:blog-1000597103989045457.post-18774055741712372542015-12-17T13:54:00.001-08:002015-12-17T13:54:18.930-08:00<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYT9NcJiGKPTYRRVmSVRJQR42zCKiOGm_4Qr4hw9EUjAmuVMPs0vHK4ciw2H2O6ko3-d4cwS_J797NKUM90rjSKpt-VRGz_kqLol0lSg_TlMvelKlmgKrmWiMk-92StlvsZlI3a4A1/s1600/%25245.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="160" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYT9NcJiGKPTYRRVmSVRJQR42zCKiOGm_4Qr4hw9EUjAmuVMPs0vHK4ciw2H2O6ko3-d4cwS_J797NKUM90rjSKpt-VRGz_kqLol0lSg_TlMvelKlmgKrmWiMk-92StlvsZlI3a4A1/s320/%25245.png" width="320" /></a></div>
<br />
<span style="font-family: Calibri;"><span style="color: black; font-size: 12pt; line-height: 115%;">If you want to do some new years skills updates then check out the latest <a href="http://bit.ly/1OxPu9c">deal</a> at Packt. From 17th December
2015 into the New Year, Packt Publishing is inviting the tech
world to explore its extensive library of eBooks and Video
courses for one amazing <a href="http://bit.ly/1OxPu9c">price</a>.<span style="mso-spacerun: yes;"> </span>Every
single eBook and Video course Packt has ever created will be
available on packtpub.com for just <b>$5</b>!</span></span><br />
<br />
<span style="font-family: Calibri;"><span style="color: black; font-size: 12pt; line-height: 115%;">Great time to pick up a copy of <a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">Instant Apache ActiveMQ Application development</a>. </span></span><span style="font-family: Calibri;"><span style="color: black; font-size: 12pt;"></span></span>Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-34966263625470562242015-05-28T06:55:00.001-07:002015-05-28T08:47:47.003-07:00Packt Free Learning Forever event<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGofR4gpf0b2E1V8FLpxfuOwA2_3d29iMpAcUXJgPTNBjoS3aamiXKRMPhvp527VJGVG09VN-ctqd6UJXcltQPc2YS_Pl7Z8usQfEKM6VrCa1ec-rUFFeQVH0F5tX7pqJzAXqvVuGM/s1600/FreeLearning.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="66" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGofR4gpf0b2E1V8FLpxfuOwA2_3d29iMpAcUXJgPTNBjoS3aamiXKRMPhvp527VJGVG09VN-ctqd6UJXcltQPc2YS_Pl7Z8usQfEKM6VrCa1ec-rUFFeQVH0F5tX7pqJzAXqvVuGM/s400/FreeLearning.JPG" width="400" /></a></div>
<br />
Packt Free Learning Forever event is on, <a href="http://www.packtpub.com/packt/offers/free-learning/?utm_source=ACtimbish&utm_medium=referral&utm_campaign=OMEFL">check it out</a>. Great way to get some really good books to expand your library and learn some useful new skills. <br />
<br />Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com2tag:blogger.com,1999:blog-1000597103989045457.post-90006893792215055192015-05-06T10:24:00.000-07:002015-05-06T10:24:24.416-07:00Packt Day Against DRM sale returns
<style type="text/css">p { margin-bottom: 0.1in; direction: ltr; line-height: 120%; text-align: left; orphans: 2; widows: 2; }p.western { font-family: "Calibri",serif; }p.ctl { font-family: "Times New Roman"; }a:link { color: rgb(0, 0, 255); }</style>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-gtV5_Quc74Kas7cu2_ro48V1CRzjZwPg_bJPtova8yrJ4voCZXqp9QXLxBJXvI7BV95Si73PXc09elAo930-KUIHH2SJdA769wgMUvPnGXSmdq5Oh40yZjbFk2f520unLnoEzY7c/s1600/2015+Banner.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-gtV5_Quc74Kas7cu2_ro48V1CRzjZwPg_bJPtova8yrJ4voCZXqp9QXLxBJXvI7BV95Si73PXc09elAo930-KUIHH2SJdA769wgMUvPnGXSmdq5Oh40yZjbFk2f520unLnoEzY7c/s1600/2015+Banner.png" height="122" width="320" /></a></div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<br /></div>
<div class="western" style="line-height: 100%; margin-bottom: 0in;">
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">This
year, to demonstrate their continuing support for <a href="https://www.defectivebydesign.org/">Day
Against DRM</a>, Packt is offering all its DRM-free content at <a href="http://bit.ly/1QlNfJh">$10for 24 hours</a> only on May 6</span><span style="font-size: small;"><sup>th</sup><b>
</b>–
with more than 3000 eBooks and 100 Videos available across the
publisher’s website <a href="http://www.packtpub.com/">www.packtpub.com</a>,</span></span></div>
<br />
<span style="font-family: Arial,Helvetica,sans-serif;"><span style="font-size: small;">You can take advantage of this sale to get an eBook copy of <a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">Instant Apache ActiveMQ Application development</a> along with the upcoming <a href="http://www.packtpub.com/apache-camel-developers-cookbook/book">Apache Camel cookbook</a>.
</span></span>Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-40137970197884274112014-12-22T10:37:00.000-08:002014-12-22T10:37:41.160-08:00Packt’s $5 eBonanza returns<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBuwXL7u0QkmtAdNkUqEskNMA3hRf4iVFv1Us2zy9N1mzmhGHlhy42F0OCT9RZHSYLF_VxQNiM6XWy0u-yxvmxNu1fTi_G4-AUoss0vzdKvWyQDGQ9dmFefF1UabtwK4zH9zjFRyhP/s1600/5+Dollar+-+Social+Media.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBuwXL7u0QkmtAdNkUqEskNMA3hRf4iVFv1Us2zy9N1mzmhGHlhy42F0OCT9RZHSYLF_VxQNiM6XWy0u-yxvmxNu1fTi_G4-AUoss0vzdKvWyQDGQ9dmFefF1UabtwK4zH9zjFRyhP/s1600/5+Dollar+-+Social+Media.png" height="160" width="320" /></a></div>
<br />
The $5 eBook Bonanza has returned, view the details <a href="http://bit.ly/1AKtu5i">here</a>! Treat yourself to the eBook or Video of
your choice for just $5 and get as many as you like until January 6th
2015. This is a great time to add to your personal library and start learning some new tech skills. Its also a great time to grab a copy of my ActiveMQ <a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">book</a> at Packt.Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-41747281394808065952014-08-15T10:21:00.001-07:002014-08-15T10:21:52.247-07:00Coming in ActiveMQ v5.11 In-Memory Scheduler StoreUp to this point your only option for doing scheduled message delivery in ActiveMQ required that you start a broker with persistence enabled. Well, that's not entirely true, if you wanted to apply some configuration magic and start a broker in non-persistent mode and add an instantiated version of the KahaDB based JobSchedulerStore you could but that's not really ideal when you don't really need or want full persistence such as during unit tests or in some embedded cases. <br />
<br />
So from here on out if you want to use scheduled message dispatch but don't require the overhead of offline storage for your broker then just create a Broker instance that has persistence disabled and scheduler support enabled.<br />
<br />
Here's an example of an embedded Broker that will use an in-memory scheduler:<br />
<br />
<span style="font-size: small;"> BrokerService answer = new BrokerService();<br /> answer.setPersistent(false);<br /> answer.setSchedulerSupport(true);</span><br />
<br />
There's a lot more changes under the hood in the scheduled message bits coming in ActiveMQ 5.11.0 but I'll cover that in another post.<br />
<br />Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-72787366618601315442014-07-18T12:30:00.002-07:002014-07-18T12:30:23.270-07:00ActiveMQ-CPP v3.8.3 ReleasedIts been awhile since the last time we released a new version of <a href="http://activemq.apache.org/cms/">ActiveMQ-CPP</a> so I pleased to announce that version 3.8.3 is now out. This release is a bug fix release that addresses some threading issues in the ConnectionAudit class as well as some enhancements to the SSL code to allow for finding the domain name of the broker in a Certificate that has multiple CN values. <br />
<br />
The <a href="http://activemq.apache.org/cms/activemq-cpp-383-release.html">release page</a> has all the details so head on over and download the new <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311207&styleName=Html&version=12325744">release</a>. Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-55085738932405906962014-06-30T14:24:00.002-07:002014-07-10T12:56:49.111-07:00<div class="separator" style="clear: both; text-align: center;">
</div>
This month marks 10 years since <a href="http://goo.gl/IRYr54">Packt</a> embarked on their mission to deliver
effective learning and information services to IT professionals. To <a href="http://goo.gl/IRYr54">celebrate</a> this huge milestone, they are offering <b>ALL of their eBooks and Videos at just $10</b> each for 10 days – this promotion covers every title and you can stock up on as many copies as you like <b>until July 5th</b>. <br />
<br />
This would be a great time to pick up a copy of my book '<a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">Instant Apache ActiveMQ Messaging Application Development How-To</a>' for just $10. Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-20067086737861461612014-03-20T09:25:00.001-07:002014-03-20T09:26:55.405-07:00Packt Publishing now has 2000 titles and a great sale.<div class="separator" style="clear: both; text-align: center;">
<a href="http://dgdsbygo8mp3h.cloudfront.net/sites/default/files/2000th-Book-Home-Page-Banner.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://dgdsbygo8mp3h.cloudfront.net/sites/default/files/2000th-Book-Home-Page-Banner.png" height="133" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Packt is celebrating it's 2000th title and has a cool buy one get one free <a href="http://bit.ly/1j26nPN">offer</a>. This is a great time to add to your personal library and start
learning some new tech skills. Its also a great time to grab a copy of
my ActiveMQ <a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">book</a> at Packt.<br />
<br />
The sale ends <span style="font-family: Calibri;">26th-Mar-2014 so don't wait to long.</span> Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-43068349716208313362014-03-06T07:37:00.001-08:002014-03-06T07:37:41.786-08:00Packt's Learning Apache Maven 3 Video CourseI took some time recently to watch the latest <a href="http://bit.ly/1kvveqf">Maven 3 video course </a>offered by Packt publishing. I wasn't sure what to expect since I have seen any of their other video courses. I was pleasantly surprised by the depth of coverage and the well thought out organization of the <a href="http://bit.ly/1kvveqf">course</a>.<br />
<br />
The course walks you through the ins and outs of using maven 3 which is great if you are a new user. What's also great is that it shows you how to integrate development with maven into different IDE's like Eclipse and IntelliJ. <br />
<br />
If you've never used maven or you haven't spent much time using it inside an IDE this course is a great tool to get you started. There's a lot of good tips in there even for those who already use maven as well. Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-5689867056195475052013-12-19T08:35:00.001-08:002013-12-19T08:37:10.587-08:00Christmas time at Packt Books<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.packtpub.com/sites/default/files/782x300_Main_banner.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="122" src="http://www.packtpub.com/sites/default/files/782x300_Main_banner.jpg" width="320" /></a></div>
<br />
The $5 eBook Bonanza is <a href="http://bit.ly/1jdCr2W">here</a>! Treat yourself to the eBook or Video of
your choice for just $5 and get as many as you like until January 3rd
2014. This is a great time to add to your personal library and start learning some new tech skills. Its also a great time to grab a copy of my ActiveMQ <a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">book</a> at Packt.Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-19495019208834976152013-10-16T11:28:00.001-07:002013-10-16T11:28:42.222-07:00Get 50% Off of my Instant Apache ActiveMQ book plus many more
<style type="text/css">P { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); widows: 2; orphans: 2; }A:link { color: rgb(0, 0, 255); }</style>
<br />
<div style="margin-bottom: 0.14in;">
Packt Publishing is giving everyone
the chance to explore its full range of over 1600 DRM-free eBooks
this Columbus Day at a massive 50% off at <a href="http://www.packtpub.com/">www.packtpub.com</a>,
for 4 whole days. Customers simply use the code <b>COL50</b> in their
cart – as many times as they like until Thursday October 17<sup>th</sup>. Use the following link to find out more. <a href="http://bit.ly/1bqvB29">http://bit.ly/1bqvB29</a></div>
<div style="margin-bottom: 0.14in;">
</div>
You can take advantage of this sale to get an eBook copy of <a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">Instant Apache ActiveMQ Application development</a> along with the upcoming <a href="http://www.packtpub.com/apache-camel-developers-cookbook/book">Apache Camel cookbook</a>.
Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-89664634643236444232013-09-09T07:42:00.000-07:002013-09-09T07:42:06.362-07:00ActiveMQ-CPP v3.8.0 ReleasedIts official, <a href="http://activemq.apache.org/cms/">AcitveMQ-CPP</a> v3.8.0 has now been <a href="http://activemq.apache.org/cms/activemq-cpp-380-release.html">released</a>.
<br />
<br />
This is a new patch release of ActiveMQ-CPP which contains bug fixes for
issues that were found since v3.7.1 was released and also some new
features and build improvements for Windows users.
The windows project files are moving on to Visual Studio v2010 from this point on. We kept around the vs2008 project files for now but will remove them in a later release just to try and make the transition a bit easier.<br />
<br />
Here's a list of what's been fixed or added in this release. <br />
<br />
* 3.7.0 does not compile with gcc-4.4.7 on CentOS-6
<br />
* APR-Util header include missed in latest release.
<br />
* CMS FailoverTransport Leaks Socket Descriptors
<br />
* closing a connection stalled in start because of failover should
<br />
stop the transport safely.
<br />
* Compilation Error Fix for Sun Studio under Solaris 10
<br />
* Exception lifetime confusion can cause the application to crash
<br />
* Connection didn't switch to the slave broker when the master broker
<br />
is down
<br />
* Committing a session with a deleted consumer causes access violation
<br />
* Compilation of 3.7.0 fails for Linux systems (Redhat 5.8 and SuSE
<br />
SLES 10)
<br />
* Client doesn't work on Linux Red Hat 6.4 systems, fails when setting
<br />
thread priority
<br />
* Exception "attempt to unlock read lock, not locked by current
<br />
thread" when doing performance testing
<br />
* For SSL connections ensure the SNI field is set.
<br />
* Can't send to temporary queues created by name
<br />
* Added Visual Studio 2010 project files for the project.
<br />
* Added Destination Source events based listener interfaces to the CMS
API.Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-52782451656325959602013-07-23T14:18:00.001-07:002013-07-23T14:18:36.832-07:00Coming in ActiveMQ 5.9 a new way to abort slow consumers.The topic of how to deal with a slow consumer in <a href="http://activemq.apache.org/">ActiveMQ</a> comes up on the mail list from time to time. In the current releases there is a <a href="http://activemq.apache.org/maven/apidocs/org/apache/activemq/broker/region/policy/AbortSlowConsumerStrategy.html">strategy</a> class that allows you to configure a time interval after which a slow consumer is closed (some nice documentation can be found <a href="https://access.redhat.com/site/documentation/en-US/JBoss_A-MQ/6.0/html/Tuning_Guide/files/TuningSlowConsumers.html">here</a>). The AbortSlowConsumerStrategy detects a consumer is slow by looking at its prefetch buffer and checking if its been to full for to long. When the consumer is aborted the messages that were in its prefetch buffer can then be sent on to other consumers on the same destination.<br />
<br />
The AbortSlowConsumerStrategy works well when you have consumers whose prefetch limit is set to a value greater than one, but for those cases where you've set a value of zero or one the consumer may never get marked as slow by the broker so the strategy might never kick in to abort the slow consumers. <br />
<br />
To solve the problem of slow consumers with small prefetch values we've introduced the AbortSlowAckConsumerStrategy. This strategy works by checking the time since a consumer last acknowledged a message as apposed to the time that the consumer has had a full prefetch buffer. The strategy will poll all the consumers of destination at a configurable rate to determine if the consumer is slow and if the consumer meets the configured criteria for abort then it will be given the boot and any prefetched messages will be redispatched. <br />
<br />
The AbortSlowAckConsumerStrategy is configured in the XML configuration file as follows:<br />
<br />
<script src="https://gist.github.com/tabish121/6066119.js"></script>
This configuration adds the AbortSlowAckConsumerStrategy with default options and applies it only to Topic consumers, for Queues you just need to replace the word 'topic' with 'queue' in the policy entry.<br />
<br />
There are various options that can be set on the strategy to determine when it aborts a slow consumer.<br />
<br />
<div class="title">
<b>Table 2. Settings for Abort Slow Consumer Strategy</b></div>
<div class="table-contents">
<table border="1" cellpadding="2" style="width: 100%px;" summary="Settings for Abort Slow Consumer Strategy"><colgroup><col></col><col></col><col></col></colgroup><thead>
<tr><th>Attribute</th><th>Default</th><th>Description</th></tr>
</thead><tbody>
<tr><td><code class="sgmltag-attribute">maxTimeSinceLastAck</code></td><td><code class="sgmltag-attvalue">30000</code></td><td>Specifies the amount of time that must elapse since the last message acknowledge before a consumer is marked as slow.</td></tr>
<tr><td><code class="sgmltag-attribute">ignoreIdleConsumers</code></td><td><code class="sgmltag-attvalue">true</code></td><td>Specifies whether the time since last acknowledge is applied to consumer that has no dispatched messages. If set false this strategy can be used to abort any consumer after the time since last acknowledge interval has expired.<code> </code><code class="sgmltag-attribute"></code></td></tr>
<tr><td><code class="sgmltag-attribute">maxSlowCount</code></td><td><code class="sgmltag-attvalue">-1</code></td><td>Specifies the number of times a consumer can be considered slow before it is
aborted. <code class="sgmltag-attvalue">-1</code> specifies that a consumer can be considered
slow an infinite number of times.</td></tr>
<tr><td><code class="sgmltag-attribute">maxSlowDuration</code></td><td><code class="sgmltag-attvalue">30000</code></td><td>Specifies the maximum amount of time, in milliseconds, that a consumer can be
continuously slow before it is aborted.</td></tr>
<tr><td><code class="sgmltag-attribute">checkPeriod</code></td><td><code class="sgmltag-attvalue">30000</code></td><td>Specifies, in milliseconds, the time between checks for slow consumers.</td></tr>
<tr><td><code class="sgmltag-attribute">abortConnection</code></td><td><code class="sgmltag-attvalue">false</code></td><td>Specifies whether the broker forces the consumer connection to close. The
default value specifies that the broker will send a message to the consumer
requesting it to close its connection. <code class="sgmltag-attvalue">true</code>
specifies that the broker will automatically close the consumer's
connection.</td></tr>
</tbody></table>
</div>
<div class="table-contents">
<table border="1" cellpadding="2" style="width: 100%px;" summary="Settings for Abort Slow Consumer Strategy"><tbody>
<tr></tr>
</tbody></table>
<table border="1" cellpadding="2" style="width: 100%px;" summary="Settings for Abort Slow Consumer Strategy"><tbody>
</tbody></table>
</div>
<br />
If you read through the options above you should notice that it's possible to use this strategy not only to abort slow consumers that are receiving messages from the broker but also you can use this as a way to abort any consumer after a specified time interval. To accomplish this all you need to do is set the ignoreIdleConsumers option to false and the strategy will treat any consumer that hasn't acknowledged a message since the configured maxTimeSinceLastAck regardless of whether its had a message dispatched to it or not.<br />
<br />
Lets look at an example of how to abort any topic consumer that hasn't acknowledged a message in the last 60 seconds:<br />
<script src="https://gist.github.com/tabish121/6066233.js"></script>
Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com3tag:blogger.com,1999:blog-1000597103989045457.post-32341108646827953632013-07-12T07:58:00.000-07:002013-07-12T07:58:05.630-07:00ActiveMQ-CPP v3.7.1 ReleasedThis is a new patch release of <a href="http://activemq.apache.org/cms/">ActiveMQ-CPP</a>, a lot of bugs have been
fixed that were found in the <a href="http://activemq.apache.org/cms/activemq-cpp-371-release.html">v3.7.0</a> release which should reduce memory
consumption and improve overall stability. Several compilation fixes
were made as well so things should be better on a number of platforms.
Fixes of note:<br />
<ul>
<li>3.7.0 does not compile with gcc-4.4.7 on CentOS-6</li>
<li>APR-Util header include missed in latest release.</li>
<li>CMS FailoverTransport Leaks Socket Descriptors</li>
<li>closing a connection stalled in start because of failover should stop the transport safely.</li>
<li>Compilation Error Fix for Sun Studio under Solaris 10</li>
<li>Exception lifetime confusion can cause the application to crash</li>
<li>Connection didn't switch to the slave broker when the master broker is down</li>
<li>Commiting a session with a deleted consumer causes access violation</li>
<li>Compilation of 3.7.0 fails for Linux systems (Redhat 5.8 and SuSE SLES 10)</li>
<li>Cient doesn't work on Linux Red Hat 6.4 systems, fails when setting thread priority</li>
</ul>
Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-84172478136708439792013-06-07T11:35:00.001-07:002013-06-07T11:35:26.377-07:00Apache.NMS.ActiveMQ v1.6.0 Released
After almost a year since the last release the Apache.NMS.ActiveMQ 1.6.0 Release bundle is now available. We spent a lot of time on this release adding in new features and fixing bugs. You'll find many features added that were previously only available in the Java client such as optimized acknowledge and priority backups for the Failover Transport. <br />
<br />
New in this release:<br />
<br />
* Adds support for non-blocking redelivery.<br />
* Supports priority backups for Failover transport.<br />
* Supports an Optimized Ack mode for MessageConsumers.<br />
* Adds Message Audits to prevent duplicate deliveries on Failover.<br />
* Implements the ISession Recover method.<br />
* Adds support for purging locally created temp destinations.<br />
* Properly handles cluster client re-balancing in Failover Transport.<br />
* Plus a lot more fixes and stability improvements.<br />
<br />
This release is based on the Apache.NMS API v1.6.0 and runs on .NET
frameworks 2.0+ and Mono 2.0+.<br />
<br />
The binaries and source bundles for the Release Candidate can be found <a href="http://activemq.apache.org/nms/apachenmsactivemq-v160.html">here</a>:<br />
<br />
The list of issues resolved is <a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311201&styleName=Html&version=12315987">here</a>:<br />
<br />
There are release binaries and debug binaries (with PDBs) provided. The
binary ZIP files include pre-built assemblies for all of the platforms
that are supported.Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-90646292397431537892013-05-30T08:28:00.000-07:002013-05-30T08:28:12.457-07:00Win A Free Copy of Packt's Instant Apache ActiveMQ Messaging Application Development How-to!!<style type="text/css">H1 { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); }H1.western { font-family: "Times New Roman",serif; }H1.cjk { font-family: "Lucida Sans Unicode",sans-serif; font-size: 24pt; }H1.ctl { font-family: "Tahoma",sans-serif; font-size: 24pt; }P { margin-bottom: 0.08in; direction: ltr; color: rgb(0, 0, 0); }P.western { font-family: "Times New Roman",serif; font-size: 12pt; }P.cjk { font-family: "Lucida Sans Unicode",sans-serif; font-size: 12pt; }P.ctl { font-family: "Times New Roman",serif; font-size: 12pt; }A.cjk:visited { }A.western:link { }A.ctl:link { }</style>
<br />
<div class="western">
<span style="color: black;"><span style="font-family: Calibri, sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">I am pleased to announce that I have teamed up with <a href="http://www.packtpub.com/">Packt Publishing</a>
and we are organizing a giveaway especially for you. All you need to do
is just comment below the post and win a free e-copy of</span></span></span></span><span style="color: black;"><span style="font-family: Calibri, sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">
</span></span></span></span><a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book"><span style="font-family: Calibri, sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">Instant Apache ActiveMQ Messaging Application Development How-to</span></span></span></a><span style="color: black;"><span style="font-family: Calibri, sans-serif;"><span style="font-size: small;"><span style="font-weight: normal;">.
Two lucky winners stand a chance to win an e-copy of the book. Keep
reading to find out how you can be one of the Lucky One.</span></span></span></span></div>
<div class="western" style="margin-bottom: 0in;">
<br /></div>
<div class="western" style="margin-bottom: 0in;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://dgdsbygo8mp3h.cloudfront.net/sites/default/files/imagecache/productview_larger/9413OS.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://dgdsbygo8mp3h.cloudfront.net/sites/default/files/imagecache/productview_larger/9413OS.jpg" /></a></div>
<div class="western" style="margin-bottom: 0in;">
<br /></div>
<div class="western" style="margin-bottom: 0in;">
</div>
<h1 class="western">
<span style="color: navy;"><span lang="zxx"><span style="color: black;"><span style="font-family: Calibri, sans-serif;"><span style="font-size: medium;"><span style="text-decoration: none;">Overview
of </span></span></span></span></span></span><span style="font-family: Calibri, sans-serif;"><span style="font-size: medium;">Instant
Apache ActiveMQ Messaging Application Development How-to</span></span></h1>
<ul>
<li><div class="western" lang="en-IN" style="margin-bottom: 0.07in; margin-top: 0.07in; orphans: 2; widows: 2;">
Learn something new in an Instant! A short, fast, focused guide
delivering immediate results.</div>
</li>
<li><div class="western" lang="en-IN" style="margin-bottom: 0.07in; margin-top: 0.07in; orphans: 2; widows: 2;">
Learn how to use the JMS API</div>
</li>
<li><div class="western" lang="en-IN" style="margin-bottom: 0.07in; margin-top: 0.07in; orphans: 2; widows: 2;">
Explore advanced messaging features in <a href="http://activemq.apache.org/">ActiveMQ</a></div>
</li>
<li><div class="western" lang="en-IN" style="margin-bottom: 0.07in; margin-top: 0.07in; orphans: 2; widows: 2;">
Useful information on common pitfalls new developers often encounter</div>
</li>
</ul>
<div class="western">
<br /></div>
<div class="western" style="margin-bottom: 0.07in; margin-top: 0.07in; orphans: 2; widows: 2;">
<span style="font-family: Calibri, sans-serif;"><span style="font-size: medium;"><b>How to Enter?</b></span></span></div>
<div class="western">
<span style="font-family: Calibri, sans-serif;"><span style="font-size: medium;">Simply
post your expectations from this book in comments section below. You
could be one of the 2 lucky participants to win the copy.</span></span><br />
<br />
</div>
<div class="western">
<b><span style="font-family: Calibri, sans-serif;"><span style="font-size: medium;">DeadLine:</span></span></b></div>
<div class="western" style="margin-bottom: 0in;">
<span style="font-family: Calibri, sans-serif;"><span style="font-size: medium;"><b>The
contest will close on 06/14/2013 . Winners will be contacted by email,
so be sure to use your real email address when you comment!</b></span></span></div>
Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com10tag:blogger.com,1999:blog-1000597103989045457.post-46078041930513125982013-05-28T15:42:00.001-07:002013-05-28T15:42:15.109-07:00New ActiveMQ Book Published. Recently finished work on a new book for the beginning ActiveMQ user, "<a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">Instant Apache ActiveMQ Messaging Application Development How-to</a>" published by <a href="http://www.packtpub.com/">Packt Publishing</a>. The book is a fast paced walk through as the basic skills needed to work with <a href="http://activemq.apache.org/">Apache ActiveMQ</a>. At 78 pages its a quick read and provides some helpful tips for some of the most common questions asked by those new to working with <a href="http://activemq.apache.org/">ActiveMQ</a>. <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://dgdsbygo8mp3h.cloudfront.net/sites/default/files/imagecache/productview_larger/9413OS.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://dgdsbygo8mp3h.cloudfront.net/sites/default/files/imagecache/productview_larger/9413OS.jpg" /></a></div>
<br />
Some things that are covered in this book.<br />
<ul>
<li>Install and run an ActiveMQ Broker</li>
<li>Set up a basic application developer environment for ActiveMQ using Apache Maven</li>
<li>Write basic JMS applications using topics and queue to broadcast events</li>
<li>Perform Request and Response style operations over JMS</li>
<li>Write applications that embed ActiveMQ brokers directly into their own JVM</li>
<li>Utilize ActiveMQ's fault tolerant features to develop robust client applications</li>
<li>How to delay message sending using ActiveMQ's built in scheduler</li>
</ul>
The book is available in eBook form from <a href="http://www.packtpub.com/apache-activemq-messaging-application-development/book">Packt </a>or you can also order a paperback copy on <a href="http://www.amazon.com/dp/1782169415/?tag=packtpubli-20">Amazon</a>. Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-88615365857827153032013-05-20T08:23:00.001-07:002013-05-20T08:23:21.497-07:00ActiveMQ-CPP v3.7.0 Released This is a new Major release of <a href="http://activemq.apache.org/cms/activemq-cpp-370-release.html">ActiveMQ-CPP</a> which contains bug fixes for
issues that were found since v3.6.0 was released along with several new
features which have been requested by a number of users.
<br />
<br />* Added support of Optimized Acknowledge
<br />* Added support for Non-blocking redelivery.
<br />* Removed dependence on the APR-Util library (Still needs the main APR
lib).
<br />* Supports priority backups for Failover Transport
<br />* Supports the cluster rebalancing feature.
<br />* Message Audits to filter duplicates on Failover.
<br />* A lot of other little bug fixes and improvements.<br />
<br />
Building the project should be a lot simpler now as you only need to have APR v1.3+ installed, this is a big plus for Windows users as building the APR-Util libs on Windows is tricky at best. Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com2tag:blogger.com,1999:blog-1000597103989045457.post-37074837865263669842013-03-11T12:09:00.002-07:002013-03-11T12:09:57.525-07:00ActiveMQ-CPP v3.6.0 ReleasedThis is a new Major release of ActiveMQ-CPP with several new APIs and internal changes meant to improve overall stability of the C++ client. Besides a large amount of bug fixing and memory leak fixing this release also adds support for priority backups and better cluster re-balancing support to the failover transport. <br />
<br />
You can find out more on the <a href="http://activemq.apache.org/cms/activemq-cpp-360-release.html">download</a> page along with newly updated API docs for this release. Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-38313195818820669642012-12-21T07:30:00.002-08:002012-12-21T07:30:35.832-08:00ActiveMQ-CPP v3.5.0 ReleasedJust in time for Christmas. <br />
<br />
This is a new Major release of ActiveMQ-CPP with several new APIs and<br />internal changes meant to improve overall stability of the C++ client.<br />Besides a large amount of bug fixing and memory fixing this release also<br />features a lot of new features in the CMS API:<br /><br />* Added Message Transformation capabilities for incoming and outgoing<br />messages.<br />* You can now query for the type of a Message property so you can choose<br />the best getter method.<br />* MapMessage and StreamMessage object now expose an API to find out what<br />type a value is before you try to get a value using one of the getter<br />methods.<br />* Polling consumers now can set a Message available listener.<br />* Stomp clients can configure the destination prefixes for the<br />Destination types (Queues, Topics...).<br />* StreamMessage now has a reset method to allow object reuse.<br />* Added an AdvisorySupport class to make dealing with advisory topics<br />easier.<br />* Added support for non-blocking sends to Message Producers.<br />
<br />
You can get the source bundle from the <a href="http://activemq.apache.org/cms/activemq-cpp-350-release.html">v3.5.0 release page</a>.Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com2tag:blogger.com,1999:blog-1000597103989045457.post-83255711637341233662012-06-04T05:24:00.002-07:002012-06-04T05:24:33.416-07:00ActiveMQ-CPP version 3.4.3 released.Its official, <a href="http://activemq.apache.org/cms/">AcitveMQ-CPP</a> v3.4.3 has now been released. <br /><br />This is a bug fix release of the <a href="http://activemq.apache.org/cms/">ActiveMQ-CPP client</a> which includes some<br />fixes since the v3.4.2 release. .<br /><br />Some highlights for this release:<br /><br />* Fixed a memory leak in the TcpTransport that could occur if the connection was broken during the initial connect phase.<br />* Fixed a memory leak that could occur when producers in transactions were committing and the connection was interrupted. <br />* Reduced memory overhead of saving transaction state when the failover transport is being used.<br /><br />You can download the source package from <a href="http://bit.ly/JCqMDP">here</a>:Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com6tag:blogger.com,1999:blog-1000597103989045457.post-65183788028671717992012-05-08T14:25:00.001-07:002012-05-08T14:25:13.856-07:00What's new for Stomp in ActiveMQ 5.6Version 5.6 of <a href="http://activemq.apache.org/">ActiveMQ</a> has been a long time coming but its finally here and brings with it some great new features. In this post I'm going to cover what's new for those of you using STOMP clients to communicate with ActiveMQ.<br />
<h2 style="font-weight: normal;">
<b>
STOMP v1.1 Support </b></h2>
Probably the biggest change in ActiveMQ 5.6 is that we now support <a href="http://stomp.github.com/stomp-specification-1.1.html">STOMP v1.1</a> but that's not the only thing we've done, there's plenty of new goodies even if you are stuck using a STOMP v1.0 based client. With the addition of STOMP 1.1 support STOMP you get:<br />
<ul>
<li>protocol negotiation to allow for interoperability between clients and servers supporting successive versions of STOMP</li>
</ul>
<ul>
<li>heartbeats to allow for reliable detection of disconnecting clients and servers</li>
</ul>
<ul>
<li>NACK frames for negative acknowledgment of message receipt</li>
</ul>
<ul>
<li>Support for virtual hosting.</li>
</ul>
I won't spend a lot of time rehashing the STOMP 1.1 spec here as its laid out quite nicely in the protocol specification page <a href="http://stomp.github.com/stomp-specification-1.1.html">here</a>.<br />
<h2>
Other New STOMP Features and Fixes</h2>
Of course support for STOMP 1.1 isn't the only thing we added to our STOMP support, there's several other new goodies in there as well. Lets take a look at what else you can now do with the STOMP Transport in ActiveMQ 5.6. <br />
<br />
<h3>
Queue Browsing </h3>
A normal subscription on a queue will consume messages so that no other
subscription will get a copy of the message. If you want to browse all the
messages on a queue in a non-destructive fashion, you can create browsing
subscription. To make a a browsing subscription, just add
the <code>browser:true</code> header to the <code>SUBSCRIBE</code> frame. For example:<br />
<br />
<pre><code>SUBSCRIBE
id:mysub
browser:true
destination:/queue/foo
^@</code></pre>
<pre><code> </code></pre>
Once the broker sends a browsing subscription the last message in the queue,
it will send the subscription a special “end of browse” message to indicate
browsing has completed and that the subscription should not expect any more
messages. The “end of browse” message will have a <code>browser:end</code> header set.
Example:<br />
<br />
<pre><code>MESSAGE
subscription:mysub
destination:
message-id:
browser:end
^@</code></pre>
<pre><code> </code></pre>
The Queue browsing support works for both STOMP 1.0 and STOMP 1.1 clients so you don't need to upgrade your client in order to take advantage of this new feature.<br />
<br />
<h3>
Message Selectors and Numeric Values</h3>
Prior to the 5.6 release you couldn't specify a numeric selector expression on a STOMP subscription, this has now been fixed so you are free to subscribe to a destination via STOMP using selectors such as the following:<br />
<br />
<pre><code>SUBSCRIBE
id:mysub
selector:someId = 42
destination:/queue/foo
^@</code></pre>
<pre><code> </code></pre>
With this subscription any JMS Message's sent to this destination with an numeric message property named 'someId' and a value of 42 will be picked up as expected.<br />
<br />
<h3>
STOMP+NIO+SSL Transport</h3>
In 5.6 we've added NIO+SSL transports for both Openwire and STOMP clients which allow you to connect large numbers of SSL based STOMP clients to a single broker instance. You can configure a STOMP+NIO+SSL TransportConnector in you broker as follows:<br />
<pre><code>
transportconnector name="stomp+nio+ssl" uri="stomp+nio+ssl://0.0.0.0:61616"
</code></pre>
<h3>
STOMP 1.0 default heartbeat configuration</h3>
Unlike STOMP 1.1 the original STOMP 1.0 does not provide for an inactivity monitor since there was no defined hear-beat capability. A client connect
that stays idle will remain active on the broker indefinitely. With STOMP 1.1,
the inactivity monitor has come into play in response to the <code>heart-beat</code>
header. Since not all your clients might not be upgraded to STOMP 1.1 right away we added the capability to specify a default <code>heart-beat</code> value to the transportConnector so that you can still timeout idle STOMP connections. You can setup this default value on your connector as follows:<br />
<br />
<tt> stomp://0.0.0.0:0?transport.defaultHeartBeat=5000,0</tt><br />
<br />
In the absence of a heartbeat header, as in the STOMP
1.0 case, this default value would cause an InactivityMonitor with
read check interval of 5 seconds to be installed on each new broker stomp transport
connection. Any client that remains inactive (sends no messages) for more than 5 seconds will have their broker connection closed. You should tune this value based on the exceptions of the behavior of you clients.<br />
<br />
<h2>
Wrap Up</h2>
I've tried to just quickly touch on some of the enhancements that we've made for those of you using STOMP clients in ActiveMQ v5.6. There's a ton of other new and improved features in 5.6 as well given that there were some <a href="https://issues.apache.org/jira/secure/IssueNavigator.jspa?reset=true&jqlQuery=project%20%3D%20AMQ%20AND%20fixVersion%20%3D%2012317974%20AND%20status%20in%20%28Resolved,%20Closed%29%20ORDER%20BY%20priority%20DESC">435 issues</a> resolved for this release. I encourage you to download this new release and take it for a spin. If can ask questions on our <a href="http://activemq.apache.org/mailing-lists.html">mailing list</a> if you run into trouble. Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com2tag:blogger.com,1999:blog-1000597103989045457.post-62877752556605181942012-05-04T11:51:00.000-07:002012-05-07T12:38:31.509-07:00Apache.NMS.ActiveMQ v1.5.5 ReleasedAnnouncing the official release of <a href="http://bit.ly/JSbVpK">Apache.NMS.ActiveMQ v1.5.5</a>.
We put a lot of work into this one fixing bugs that were found
since the 1.5.4 release. There was an additional issue with advisory monitoring
and Temporary Destinations that was resolved in this release along with
a couple other minor bugs. Also some improvements to the failover transport are included. Highlights of the things in this release:<br />
<br />
<br />
* Sending to non-existent temp queue causes consumer to shutdown<br />
* Consumers frequently fail to reconnect after broker outage/failover.<br />
* FailoverTransport doesn't trigger a reconnect on send of a Tracked Command.<br />
* ActiveMQ.NMS hangs sometimes due to concurrency problems while accessing static IDictionary<br />
* Apache.NMS.ActiveMQ discovery protocol throwing ArgumentOutOfRangeException<br />
<br />
Grab in from the <a href="http://bit.ly/J1NZ5h">Apache.NMS.ActiveMQ</a> downloads page.Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-54715311230034817772012-04-28T15:08:00.006-07:002012-04-28T15:08:58.530-07:00ActiveMQ-CPP v3.4.2 ReleasedIts official, <a href="http://activemq.apache.org/cms/">AcitveMQ-CPP</a> v3.4.2 has now been released. <br /><br />This is a bug fix release of the <a href="http://activemq.apache.org/cms/">ActiveMQ-CPP client</a> which includes some<br />fixes since the v3.4.1 release. A couple important failover fixes in<br />this one so grab it if you are on an earlier version.<br /><br />Some highlights for this release:<br /><br />* Some build issues on various platforms were resolved.<br />* A problem with setting the username / password from the Connection<br />Factory was fixed.<br />* A problem with expired messages and DLQ processing was addressed.<br />* An issue with the failover transport and hangs in Connection start()<br />was fixed.<br />* A couple of race conditions on Connection close() were addressed.<br /><br />You can download the source package from <a href="http://bit.ly/JQPH9w">here</a>:Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0tag:blogger.com,1999:blog-1000597103989045457.post-45238677242258544852012-04-18T05:29:00.000-07:002012-04-18T05:29:00.752-07:00Apache.NMS.ActiveMQ v1.5.4 released.Announcing the official release of <a href="http://bit.ly/J1NZ5h">Apache.NMS.ActiveMQ v1.5.4</a>. We put a lot of work into this one fixing bugs that were found since the 1.5.3 release. There was an issue with advisory monitoring and Temporary Destinations that was resolved in this release along with a couple other minor bugs.<br />
<br />
Grab in from the <a href="http://bit.ly/J1NZ5h">Apache.NMS.ActiveMQ</a> downloads page.Timhttp://www.blogger.com/profile/03370927021680126470noreply@blogger.com0