<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>RSS feed for InstantSpot site Blog of Dave</title><link>http://daveshuck.instantspot.com</link><description>Dave Shuck&apos;s ramblings on - ColdFusion, Flex, and Java, and life.</description><language>en-us</language><copyright>This work is Copyright &#xA9; 2009 by Blog of Dave</copyright><generator>RSSVille ColdFusion FeedMaker, version 1.0</generator><pubDate>Sat, 21 Nov 2009 09:01:05 GMT</pubDate><item><title>Talking through some current issues with ColdFusion Event Gateways</title><link>http://daveshuck.instantspot.com/blog/2009/11/09/Talking-through-some-current-issues-with-ColdFusion-Event-Gateways</link><description>Normally on my blog I attempt to throw out some tip, trick, or nugget of some sort.&amp;nbsp; This time?&amp;nbsp; Not so!&amp;nbsp;&amp;nbsp; I am currently trying to find a solution to a problem at hand and am brainstorming the best way to handle a few things.&amp;nbsp; I am really just talking this out for my own benefit, but I would love to hear thoughts from others that have perhaps solved similar issues.&lt;br /&gt;&lt;br /&gt;On a project that I am currently engaged in I am leveraging ColdFusion Event Gateways which work as a subscriber to a SonicMQ JMS server.&amp;nbsp; My gateway instance listens for messages on the ESB (Enterprise Service Bus) on a particular destination name (topic/queue).&amp;nbsp; When it receives a message, it parses the XML that it received, and plays traffic cop pushing data into various services that need it.&amp;nbsp; I have this working flawlessly in my small development environment.&amp;nbsp; However, I have a couple of complexities ahead of me that I am having difficulty coming up with a good solution.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Running in the cloud - &lt;/b&gt;Our production environment will have any number of CF instances, not clustered, but rather running as isolated applications with a load balancer directing the requests using sticky sessions.&amp;nbsp; Our system will be bringing new instances on/off line as traffic traffic dictates.&amp;nbsp; I have yet to solve the issue of how to set up my JMS Event Gateway in this environment.&amp;nbsp; I definitely don&apos;t want 20 different listeners out there all doing the same work.&amp;nbsp; I have considered the idea of having some sort of a support database where a listener can insert a row with a specific JMS message ID and when any other server picks up a message with that ID it will see that it is already being acted upon and it can safely ignore it. There are a couple of negatives that I can see right off the bat.&amp;nbsp; First is that every single subscribed instance will have to pull in the same message and test to see whether or not it should be acted upon.&amp;nbsp; It just seems like a little bit of redundancy that shouldn&apos;t be there.&amp;nbsp; Secondly, there is a chance that two servers could pick up the same request within milliseconds of each other and both could end up doing the work.&amp;nbsp; Duplicate processing could not only be wasteful, but could also create some data integrity issues.&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Different environments have different settings (dynamic config)&lt;/b&gt; - Right now in our development phase, we have a single config file with setting specific to our development JMS server (credentials, domain, URL, Initial Context Factory, etc).&amp;nbsp; However, soon I will need to have this process support a number of different environments: multiple dev environments, multiple integration environments, multiple QA environments, and eventually production.&amp;nbsp; Ideally it would be wonderful if I could find some way to load a specific config into the event gateway at server init time, but as of today I have _NO_ idea how to solve this one.&amp;nbsp; First, there is no real intrinsic indicator at the server level that lets it know what environment is currently running (yet anyway...) and secondly, ColdFusion event gateway architecture isn&apos;t conducive in any way to dynamically loading a specific config.&amp;nbsp; &lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;So now I am counting on you CFML community.&amp;nbsp; Help me brain storm on this!&amp;nbsp; Do you have any thoughts/ideas that might help me here?&amp;nbsp; &lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;zemanta-pixie&quot;&gt;&lt;img class=&quot;zemanta-pixie-img&quot; alt=&quot;&quot; src=&quot;http://img.zemanta.com/pixy.gif?x-id=acb39c0d-d2f4-8647-b4f4-44e30f8e673e&quot; /&gt;&lt;/div&gt;</description><pubDate>Mon, 09 Nov 2009 16:28:07 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2009/11/09/Talking-through-some-current-issues-with-ColdFusion-Event-Gateways</guid><category>ColdFusion,Technology,Java</category></item><item><title>Solving java.lang.SecurityException: Seed must be between 20 and 64 bytes. Only 8 bytes supplied.</title><link>http://daveshuck.instantspot.com/blog/2009/05/08/Solving-javalangSecurityException-Seed-must-be-between-20-and-64-bytes-Only-8-bytes-supplied</link><description>&lt;p&gt;Recently I have began working with JMS and ColdFusion, in which we are building a system that subscribes to an enterprise JMS server and picks up messages relevant to its needs and acts on them. I had my proof of concept working with the open source Apache ActiveMQ server and was very pleased with the results.&amp;nbsp; However, in our production environment, the powers that be decided to use the very non-free SonicMQ server.&lt;/p&gt; &lt;p&gt;As I tried to convert the event gateway over to the SonicMQ server, it failed on initialization with the following exception:&amp;nbsp; &lt;div class=&quot;code&quot; &gt;&lt;pre&gt;javax.naming.NamingException [Root exception is java.lang.SecurityException: Seed must be between 20 and 64 bytes. Only 8 bytes supplied.]  at com.sonicsw.jndi.mfcontext.MFConnectionManager.connect(Unknown Source)  at com.sonicsw.jndi.mfcontext.MFConnectionManager.&amp;lt;init&amp;gt;(Unknown Source)  at com.sonicsw.jndi.mfcontext.MFConnectionManager.getManager(Unknown Source)  at com.sonicsw.jndi.mfcontext.MFContext.&amp;lt;init&amp;gt;(Unknown Source)  at com.sonicsw.jndi.mfcontext.MFContextFactory.getInitialContext(Unknown Source)  at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)  at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)  at javax.naming.InitialContext.init(InitialContext.java:223)  at javax.naming.InitialContext.&amp;lt;init&amp;gt;(InitialContext.java:197)  at examples.JMS.JMSConsumer.start(Unknown Source)  at examples.JMS.JMSGateway.startGateway(Unknown Source)  at coldfusion.eventgateway.GenericGateway.start(GenericGateway.java:118)  at coldfusion.eventgateway.EventServiceImpl$GatewayStarter.run(EventServiceImpl.java:1428)&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;In my research on this problem, I found several people reporting similar errors, each on CF8, and each talking to 3rd party tools.&amp;nbsp; Eventually I found the solution through an email discussion between one of the developers in my company and an Adobe developer.&amp;nbsp; Apparently in CF8, they added FIPS security, which disables the Sun JCE (encryption libraries).&amp;nbsp; To solve this error, you need to add the following line to your java.args in your jvm.config file in JRun.&lt;div class=&quot;code&quot; &gt;&lt;pre&gt;-Dcoldfusion.disablejsafe=true&lt;/pre&gt;&lt;/div&gt;&lt;/p&gt; &lt;p&gt;Now restart your server and try again!&lt;/p&gt;</description><pubDate>Fri, 08 May 2009 14:24:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2009/05/08/Solving-javalangSecurityException-Seed-must-be-between-20-and-64-bytes-Only-8-bytes-supplied</guid><category>ColdFusion,Java</category></item><item><title>`c-&gt;xlib.lock&apos; failed error on Java applications</title><link>http://daveshuck.instantspot.com/blog/2008/01/29/cxliblock-failed-error-on-Java-applications</link><description>&lt;p&gt;I am currently using the Alpha 3 release of Ubuntu 8.04 Hardy Heron.&amp;nbsp; Considering the fact that it is an alpha release, I tend to not get worked up over little errors that might occur.&amp;nbsp; However, I have found one that I just couldn&apos;t get around.&amp;nbsp; I use Aqua Data Studio for my database client and since loading Hardy Heron, I have been unable to run it.&lt;br /&gt; &lt;br /&gt; When I would start it from a terminal, I would get a dump that looked like this:&lt;div class=&quot;code&quot; &gt;&lt;pre&gt;#0 /usr/lib/libxcb-xlib.so.0 [0x90d00767] #1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0x90d008b1] #2 /usr/lib/libX11.so.6(_XReply+0xfd) [0x9039429d] #3 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so [0x9063e8ce] #4 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so [0x9061b067] #5 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so [0x9061b318] #6 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_initDisplay+0x2f) [0x9061b61f] #7 [0xb4cff3aa] #8 [0xb4cf7f0d] #9 [0xb4cf7f0d] #10 [0xb4cf5249] #11 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/server/libjvm.so [0x637338d] #12 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/server/libjvm.so [0x64fd168] #13 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/server/libjvm.so [0x6373220] #14 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/server/libjvm.so(JVM_DoPrivileged+0x363) [0x63c90d3] #15 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/libjava.so(Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2+0x3d) [0xb7d1096d] #16 [0xb4cff3aa] #17 [0xb4cf7da7] #18 [0xb4cf5249] #19 /usr/lib/jvm/java-6-sun-1.6.0.04/jre/lib/i386/server/libjvm.so [0x637338d] java: xcb_xlib.c:82: xcb_xlib_unlock: Assertion &apos;c-&amp;gt;xlib.lock&apos; failed. Aborted (core dumped)&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt; Considering the fact that I used the Ubuntu sun-java6-jdk package from the Ubuntu repository, I decided that I would try the self-extracting bin that is available on &lt;a href=&quot;http://java.sun.com&quot;&gt;http://java.sun.com&lt;/a&gt;.&amp;nbsp; After swapping to that JVM, I still received the same dump and abort.&amp;nbsp; After doing a bit of searching, I came across a patch in one of the bug reporting forums that effectively patches your JVM and prevents this error from occurring.&amp;nbsp; I ran the patch and now everything works as it should. &amp;nbsp; If you are receiving this error, create a shell script with the following content and run it.&amp;nbsp; Assuming that it runs successfully, you should then be able to open the Java application that was failing.&lt;div class=&quot;code&quot; &gt;&lt;pre&gt;#!/bin/sh # S. Correia # 2007 11 21 # A simple script to patch the java library in order # to solve the problem with &amp;quot;Assertion &apos;c-&amp;gt;xlib.lock&apos; failed.&amp;quot; # see bug http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373 LIB_TO_PATCH=libmawt.so for f in &apos;find /usr/lib/jvm -name &amp;quot;$LIB_TO_PATCH&amp;quot;&apos; do echo &amp;quot;Patching library $f&amp;quot; sudo sed -i &apos;s/XINERAMA/FAKEEXTN/g&apos; &amp;quot;$f&amp;quot; done&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt; &lt;br /&gt; Big thanks to &amp;quot;S. Correia&amp;quot; for getting me back on my feet!&lt;/p&gt;</description><pubDate>Tue, 29 Jan 2008 21:16:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/01/29/cxliblock-failed-error-on-Java-applications</guid><category>Ubuntu,Java</category></item><item><title>Installing the JRE plugin in Firefox on Ubuntu</title><link>http://daveshuck.instantspot.com/blog/2008/01/18/Installing-the-JRE-plugin-in-Firefox-on-Ubuntu</link><description>&lt;p&gt;I have now been using Ubuntu for about 2 years, and oddly enough one thing that has always evaded me is how to properly set up the JRE plugin in Firefox.  It *seems* like that ought to be an easy process, but it is one of those annoying little things that just hasn&apos;t worked for me, although it has never been important enough for me to chase down.&lt;/p&gt; &lt;p&gt;Yesterday I had to do a Webex presentation that required the JRE plugin, so I decided it was time to hack my way through it.   One thing that I was thinking my be a factor is that I use Swiftfox instead of Firefox.  I decided to take that out of the equation just to make sure, so I went ahead and removed it.  When running Firefox and hitting &lt;strong&gt;about:plugins&lt;/strong&gt; in the address bar, I could clearly see that the Java plugin was not in the list.  I looked in ~/.mozilla/plugins, and saw a libjavaplugin.so in there, but it was obviously not doing its job.&lt;/p&gt; &lt;p&gt;So, after a lot of floundering, here are the basic steps I took that got me going...&lt;/p&gt; &lt;ul&gt;     &lt;li&gt;First, I completely uninstalled Firefox:&lt;br /&gt;     &lt;strong&gt;$ sudo apt-get --purge remove firefox&lt;br /&gt;     &lt;/strong&gt;&lt;/li&gt;     &lt;li&gt;I then reinstalled it:&lt;strong&gt;&lt;br /&gt;     $ sudo apt-get install firefox&lt;br /&gt;     &lt;/strong&gt;&lt;/li&gt;     &lt;li&gt;Next, I had previously installed the sun-java2-bin package, so I wanted to wipe all evidence of that and reinstall it.  I did the following:&lt;br /&gt;     &lt;strong&gt;$ sudo apt-get --purge remove sun-java6-bin sun-java6-jre  sun-java6-plugin&lt;br /&gt;     &lt;/strong&gt;&lt;/li&gt;     &lt;li&gt;To reinistall it I did:&lt;br /&gt;     &lt;strong&gt;$ sudo apt-get install sun-java6-bin sun-java6-jre  sun-java6-plugin&lt;br /&gt;     &lt;/strong&gt;&lt;/li&gt;     &lt;li&gt;After doing this I opened Firefox and put &lt;strong&gt;about:plugins&lt;/strong&gt; and still didn&apos;t see the Java stuff.  At this point, I went into my ~/.mozilla/plugins directory.  From earlier attempts I had some libjavaplugin.so and libjavaplugin-[something I don&apos;t remember].so.  I decided to kill those off:&lt;br /&gt;     &lt;strong&gt;$ sudo rm libjavaplugin*&lt;br /&gt;     &lt;/strong&gt;&lt;/li&gt;     &lt;li&gt;At this point looking around I found a file  &lt;strong&gt;/etc/alternatives/firefox-javaplugin.so&lt;/strong&gt; that seemed like a decent candidate, so I did a symlink like this:&lt;br /&gt;     &lt;strong&gt;$ ln -s /etc/alternatives/firefox-javaplugin.so ./libjavaplugin.so&lt;/strong&gt;&lt;/li&gt; &lt;/ul&gt; &lt;p&gt;At this point I restarted the browser, hit &lt;strong&gt;about:plugins&lt;/strong&gt; and was thrilled to see an entirely new section for Java!&lt;/p&gt; &lt;p&gt;Now, take the steps above with a grain of salt.  I certainly don&apos;t want to infer that this is by any means the right way to get it working, but it is the series of steps that finally got it working for me.  Hopefully someone else might get something out of it as well.&lt;/p&gt;</description><pubDate>Fri, 18 Jan 2008 13:59:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2008/01/18/Installing-the-JRE-plugin-in-Firefox-on-Ubuntu</guid><category>Ubuntu,Linux,Java</category></item><item><title>Grand Canyon... It&apos;s on!</title><link>http://daveshuck.instantspot.com/blog/2005/07/11/Grand-Canyon-Its-on</link><description>My father and I decided that this was the year that we would hike the North Rim to the South Rim of the Grand Canyon.   I know this seems crazy, but it is actually a paperwork challenge to be able to hike the Grand Canyon.  There is an application process in which you have to fax your request in the 1st day of the month 6 months before the intended date of your trip with a detailed itinerary, including where you will be sleeping and when.  We sent faxed our paperwork in and held our breath on the 1st of April, 6 months before we hoped to go in September.  After no word for a month we finally contacted them, only to find out that we had been rejected.  Discouraged, but not beaten, we laid out the calendar to see if there was another time that would work.  We decided that November would be acceptable, albeit a little colder.  It should be in the 60s in the bottom of the canyon though where we will spend the majority of our time.  Once again, we laid out our itinerary and faxed in on July 1.  My dad received a letter today dated July 6, 2005 telling him that they were sorry, but they were unable to accept out application.  He spent a good hour walking around the house cussing and feeling terribly disappointed.  A bit later my mom noticed there was another letter from the Grand Canyon dated July 7, 2005.  &lt;br /&gt;  &lt;br /&gt;  &lt;div class=&quot;note&quot;&gt;  Dear Mr. Shuck, we have accepted your request to hike the Grand Canyon on the dates of November 1, 2 and 3, 2005.  Enlcosed are your passes, which you will need to affix to your backpack and carry with you in the canyon.  There is no need to stop by the back country headquarters before departing on the trail.  &lt;/div&gt;  So in 3.5 months, I will be taking this in....&lt;br /&gt;  &lt;div style=&quot;text-align: center&quot;&gt;  &lt;img src=&quot;/images/GrandCanyon.jpg&quot; border=&quot;0&quot; alt=&quot;&quot; /&gt;  &lt;/div&gt;      </description><pubDate>Mon, 11 Jul 2005 05:00:00 GMT</pubDate><guid>http://daveshuck.instantspot.com/blog/2005/07/11/Grand-Canyon-Its-on</guid><category>Outdoors</category></item></channel></rss>