<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tork Wrench &#187; tip</title>
	<atom:link href="http://www.torkwrench.com/category/tip/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.torkwrench.com</link>
	<description>Things I learnt today, working on IBM Lotus Web Content Management.</description>
	<lastBuildDate>Tue, 17 Aug 2010 06:50:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Workaround for Solaris 10 slow boot on VMware ESX 4.0</title>
		<link>http://www.torkwrench.com/2010/07/02/workaround-for-solaris-10-slow-boot-on-vmware-esx-4-0/</link>
		<comments>http://www.torkwrench.com/2010/07/02/workaround-for-solaris-10-slow-boot-on-vmware-esx-4-0/#comments</comments>
		<pubDate>Thu, 01 Jul 2010 22:32:32 +0000</pubDate>
		<dc:creator>Graham</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[esx]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[VMware]]></category>
		<category><![CDATA[workaround]]></category>

		<guid isPermaLink="false">http://www.torkwrench.com/?p=248</guid>
		<description><![CDATA[When installing Solaris 10 as a VMware guest, the boot sequence is very slow. Here's how to fix it. <a href="http://www.torkwrench.com/2010/07/02/workaround-for-solaris-10-slow-boot-on-vmware-esx-4-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When building a Solaris x64 guest on VMware , the boot sequence when booting from the Solaris DVD seems to take forever. About 5 minutes in fact.  Which is really annoying if you are trying to automate installing Solaris and you need to restart 50 times a day. The part I am talking about is after you select to boot Solaris from the grub menu &#8211; there is a sequence of dots that comes up until the next Solaris kernel seems to load. Incidentally the guest&#8217;s CPU goes to 100% during this sequence, which could be an issue if you are running on a loaded system.</p>
<p>Luckily there is a workaround. Go into the &#8216;edit settings&#8217; screen for the Solaris guest and click the options tab. Change the Guest Operating System Version to Solaris 10 32 Bit, instead of 64 bit. Then the boot goes more like this:</p>
<p><img src="http://www.torkwrench.com/wp-content/plugins/flash-video-player/default_video_player.gif" /></p>
<p>I made a screen cast of the slow boot as well, but it literally is the same thing as above, except it just goes on for 5 minutes. It could be the most boring video on the internet. The fast boot video above is probably the second most boring video on the internet! It&#8217;s just a hard problem to explain in words.</p>
<p>This setting doesn&#8217;t mean that you&#8217;ll be running a 32 bit OS or anything either &#8211; as far as I can tell it doesn&#8217;t do anything besides fix the slow boot problem! </p>
]]></content:encoded>
			<wfw:commentRss>http://www.torkwrench.com/2010/07/02/workaround-for-solaris-10-slow-boot-on-vmware-esx-4-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.torkwrench.com/wp-content/uploads/2010/07/solaris-10-boot-good.flv" length="1606803" type="video/x-flv" />
		</item>
		<item>
		<title>Why doesn&#8217;t the WCM authoring portlet come up after installing Portal?</title>
		<link>http://www.torkwrench.com/2010/06/30/why-doesnt-the-wcm-authoring-portlet-come-up-after-installing-portal/</link>
		<comments>http://www.torkwrench.com/2010/06/30/why-doesnt-the-wcm-authoring-portlet-come-up-after-installing-portal/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 01:29:46 +0000</pubDate>
		<dc:creator>Graham</dc:creator>
				<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.torkwrench.com/?p=245</guid>
		<description><![CDATA[Possible reasons why the WCM authoring portlet doesn't display on a new install of Portal. <a href="http://www.torkwrench.com/2010/06/30/why-doesnt-the-wcm-authoring-portlet-come-up-after-installing-portal/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hey a Q and A post! Let&#8217;s hope the Q gets &#8216;A-ed&#8217;. </p>
<p>Peter commented on my <a href="http://www.torkwrench.com/2009/05/04/getting-websphere-portal-to-install-on-ubuntu/">post</a> about installing Portal on Ubuntu, and my response got a bit long, so I thought it might might a good post by itself.</p>
<p>Peter writes: </p>
<p><em>got thru the install but WCM doesnt appear in the admin (for libraries) or UI. can you confirm you can see the WCM stuff in yr portal? and maybe share wpinstalllog.txt with me?</em></p>
<p>Hey Peter,</p>
<p>When WCM doesn&#8217;t come up, it could be a couple of things : </p>
<p>The simplest explanation is that you&#8217;ve selected the &#8216;admin&#8217; install in the setup wizard, so you get a blank Portal out of the box. You can validate this in the PortalServer/wps.properties file, the property <strong>WPInstallType</strong> will tell you what sort of install you have done. To add WCM to an admin install, run the task:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">wp_profile/ConfigEngine/ConfigEngine.sh configure-wcm-authoring -DPortalAdminPwd=&lt;password&gt; -DWasPassword=&lt;password&gt; .</div></div>
<p>Log into Portal and you should see the WCM stuff under the content tab.</p>
<p>It could also be that you have installed the server version of Portal. Check the file PortalServer/wps.properties and check the value of <strong>WPFamilyName</strong> . It should read WPFamilyName=content. If it says something else you&#8217;ve installed the &#8216;server&#8217; version of the software &#8211; which doesn&#8217;t include WCM. This is the worst problem because you basically have to reinstall again &#8211; there&#8217;s no way to add WCM to a server version. You can see which downloaded files make up each version of Portal in the download documents for each release. The download document for the server version is <a href="http://www-01.ibm.com/support/docview.wss?uid=swg24024422">here</a>, and the content version is <a href="http://www-01.ibm.com/support/docview.wss?rs=688&#038;uid=swg24024338">here</a>.  I hope this isn&#8217;t your problem <img src='http://www.torkwrench.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  </p>
<p>With 6.0 (not valid for 6.1, but I&#8217;ll include it anyway), on Linux you can get a problem where the WCM authoring page and portlet are there, but don&#8217;t render properly &#8211; the inside of the portlet is just blank. I&#8217;ve covered this before in this <a href="http://www.torkwrench.com/2009/04/01/javalangunsatisfiedlinkerror/">post.</a>  </p>
<p>Let us know how you go Peter!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.torkwrench.com/2010/06/30/why-doesnt-the-wcm-authoring-portlet-come-up-after-installing-portal/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>mod_was_ap22_http.so wrong ELF class: ELFCLASS32</title>
		<link>http://www.torkwrench.com/2010/06/09/mod_was_ap22_http-so-wrong-elf-class-elfclass32/</link>
		<comments>http://www.torkwrench.com/2010/06/09/mod_was_ap22_http-so-wrong-elf-class-elfclass32/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 22:39:42 +0000</pubDate>
		<dc:creator>Graham</dc:creator>
				<category><![CDATA[tip]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[IHS]]></category>
		<category><![CDATA[WebSphere Application Server]]></category>

		<guid isPermaLink="false">http://www.torkwrench.com/?p=228</guid>
		<description><![CDATA[Simple fix to an error seen when using the 32 bit WebSphere Application Server plugin with 64 bit Apache <a href="http://www.torkwrench.com/2010/06/09/mod_was_ap22_http-so-wrong-elf-class-elfclass32/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m experimenting with running Apache on our servers instead of IBM HTTP Server. This could be an advantage in terms of security updates &#8211; if a particular security vulnerability is fixed in Apache, it is going to be much easier to apply it by typing <strong>yum update</strong> than going to the IBM site and downloading the latest update and then struggling through the WAS Update Installer. </p>
<p>Anyway, when trying this out, I got this error when starting Apache. This error is pretty straightforward :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Starting httpd: httpd: Syntax error on line 993 of /etc/httpd/conf/httpd.conf: Cannot load /opt/WebSphere70/Plugin/bin/mod_was_ap22_http.so into server: /opt/WebSphere70/Plugin/bin/mod_was_ap22_http.so: wrong ELF class: ELFCLASS32</div></div>
<p>This simply means that the wrong version of the plugin is installed. I&#8217;m using 64 bit linux and 64 bit Apache, but the 32 bit version of the WAS Plugin. Reinstalling the 64 bit version made it work fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.torkwrench.com/2010/06/09/mod_was_ap22_http-so-wrong-elf-class-elfclass32/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CWUPI0033E on Solaris 10 when installing WAS</title>
		<link>http://www.torkwrench.com/2010/05/13/cwupi0033e-on-solaris-10-when-installing-was/</link>
		<comments>http://www.torkwrench.com/2010/05/13/cwupi0033e-on-solaris-10-when-installing-was/#comments</comments>
		<pubDate>Thu, 13 May 2010 02:57:58 +0000</pubDate>
		<dc:creator>Graham</dc:creator>
				<category><![CDATA[random]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[dtrace]]></category>
		<category><![CDATA[solaris]]></category>
		<category><![CDATA[WebSphere Application Server]]></category>

		<guid isPermaLink="false">http://www.torkwrench.com/?p=224</guid>
		<description><![CDATA[How to fix this 'out of disk space' error when installing WebSphere Application Server on Solaris 10.  <a href="http://www.torkwrench.com/2010/05/13/cwupi0033e-on-solaris-10-when-installing-was/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a weird one for you. We were trying to install 6.1.0.3 on a Solaris 10 system to do some tests. The Portal install would fail after about 10 minutes. In the /tmp/wpinstalllog.txt file, it was clear that the problem was due to a failure in the internal WebSphere Application Server install. (When you install Portal, the Portal installer will kick off it&#8217;s own silent install of WAS).</p>
<p>The first thing to do when debugging a WAS install problem is to look at the logs in ~/waslogs . These indicated the following problem:</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">CWUPI0033E: <br />
There is insufficient free disk space on the system: <br />
<br />
/opt/WebSphere/AppServer:<br />
&nbsp; &nbsp; &nbsp; Required: 1403 MB<br />
&nbsp; &nbsp; &nbsp; Available: 0 MB<br />
<br />
/var/tmp/:<br />
&nbsp; &nbsp; &nbsp; Required: 1403 MB<br />
&nbsp; &nbsp; &nbsp; Available: 0 MB<br />
<br />
/opt/.ibm/.nif:<br />
&nbsp; &nbsp; &nbsp; Required: 2 MB<br />
&nbsp; &nbsp; &nbsp; Available: 0 MB<br />
<br />
Please ensure that there is enough free disk space<br />
on all required filesystems and restart the installation.<br />
<br />
If /var/tmp/ , /opt/WebSphere/AppServer <br />
and /opt/.ibm/.nif are on the same partition, <br />
then the amount of space required is the sum of the space<br />
required on /var/tmp/ , /opt/WebSphere/AppServer and <br />
/opt/.ibm/.nif.</div></div>
<p>My system had heaps of space on it! Surely the installer wouldn&#8217;t even run if there was 0 MB free! The method that the installer used to determine how much disk space was free was failing. But how does the installer figure out how much disk space is free? After lots of poking and prodding around I stumbled on <a href="http://www.sun.com/bigadmin/content/dtrace/">dtrace</a>. I had heard of it before, but never had the opportunity to use it. Dtrace is a mechanism to instrument and probe the tiniest little interactions on a Solaris/BSD/OSX machine. Being so powerful, it has a steep learning curve. <a href="http://www.brendangregg.com/DTrace/dtrace_oneliners.txt">This collection of handy dtrace oneliners was really helpful. </a> </p>
<p>I kicked off the WAS install portion of the Portal install and ran this dtrace command in another window.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">dtrace -n 'syscall::open*:entry { printf(&quot;%s %s&quot;,execname,copyinstr(arg0)); }' -o trace.log</div></div>
<p>It captured each file interaction that occurred when running the install. Luckily the WAS install failed after about 30 seconds, so there wasn&#8217;t too much data to wade through. </p>
<p>Here is the dtrace log (trace.log from the command above). Something called gushellsupport.sh is calling df (standard unix disk free command). This must be how the installer determines how much disk space is free. The column on the left is the pid of the install process (which is java) . The library files on the far right are what is being called by each executable; the next column over to the left.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; 0 &nbsp;44056 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open64:entry gushellsupport.s /var/tmp/ismp003/gushellsupport.sh<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /var/ld/ld.config<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /lib/libcmd.so.1<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /lib/libc.so.1<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /usr/dt/lib/nls/msg/C/SUNW_OST_OSCMD.cat<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /usr/lib/locale/C/LC_MESSAGES/SUNW_OST_OSCMD.mo<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /var/ld/ld.config<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /lib/libcmd.so.1<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /lib/libc.so.1<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /etc/mnttab<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /usr/dt/lib/nls/msg/C/SUNW_OST_OSCMD.cat<br />
&nbsp; 0 &nbsp;43668 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; open:entry df /usr/lib/locale/C/LC_MESSAGES/SUNW_OST_OSCMD.mo</div></div>
<p>This script, gushellsupport.sh, is owned by InstallShield so I can&#8217;t publish the contents of it. But it has a diskcheck function in it that relies on &#8216;/usr/xpg4/bin/df&#8217; which I didn&#8217;t have installed. Solaris has many different versions of the same tools that are left behind for backwards compatibility. When installing this system initially, I used the &#8220;Core System Support&#8221; option in the Solaris install to build a lean, quick machine. Unfortunately it didn&#8217;t come with this legacy version of df. </p>
<p>df belongs in a package called SUNWxcu4. To install it, mount your Solaris CD and go to the directory Solaris_10/Product/ . In there, copy the subdirectory &#8216;SUNWxcu4&#8242; to /var/spool/pkg and run</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">pkgadd SUNWxcu4</div></div>
<p>If you rerun the install again it&#8217;ll work since gushellsupport.sh is calling the correct version of df. Talk about obscure huh? </p>
]]></content:encoded>
			<wfw:commentRss>http://www.torkwrench.com/2010/05/13/cwupi0033e-on-solaris-10-when-installing-was/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Find ConfigEngine tasks in WebSphere Portal 6.1</title>
		<link>http://www.torkwrench.com/2010/05/10/find-configengine-tasks-in-porta/</link>
		<comments>http://www.torkwrench.com/2010/05/10/find-configengine-tasks-in-porta/#comments</comments>
		<pubDate>Mon, 10 May 2010 00:42:09 +0000</pubDate>
		<dc:creator>Graham</dc:creator>
				<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.torkwrench.com/?p=218</guid>
		<description><![CDATA[Here's how to find ConfigEngine tasks in WebSphere Portal 6.1, with a script included. <a href="http://www.torkwrench.com/2010/05/10/find-configengine-tasks-in-porta/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sometimes when a ConfigEngine task fails, it can be handy to be able to look up in the code to see more information about which task failed. And since all the tasks are written in plain old xml files it&#8217;s quite easy to just go in there and look at them. In Portal 6.0 (and before) this was really easy to do, since all the configuration scripts were located in the same place (or two places &#8211; WebSphere/PortalServer/config/actions and WebSphere/PortalServer/config/includes) . You could simply grep over all the xml files in these two directories for the task name that was failing and it would return the xml file the task was in.</p>
<p>From 6.1 and on this is more difficult because the configuration scripts are located with each component of Portal, in form like this: /config/includes/.xml . Here&#8217;s a oneliner than you can use to search for task names in just these directories. Run it from the PortalServer directory.</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">#!/bin/bash<br />
find . -wholename */config/includes/*.xml -print0 -type f | xargs -0 grep -l &quot;task-name&quot;</div></div>
<p>Here&#8217;s the same thing in a script.<br />
<a href="http://www.torkwrench.com/wp-content/uploads/2010/05/config-engine-search.sh">config-engine-search</a></p>
<p>If you make any changes to the ConfigEngine scripts, make sure you take a backup first!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.torkwrench.com/2010/05/10/find-configengine-tasks-in-porta/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CNTR0019E:  Initialization failed due to invalid property &#8220;supportedMemberTypes&#8221;.</title>
		<link>http://www.torkwrench.com/2009/12/14/cntr0019e-initialization-failed-due-to-invalid-property-supportedmembertypes/</link>
		<comments>http://www.torkwrench.com/2009/12/14/cntr0019e-initialization-failed-due-to-invalid-property-supportedmembertypes/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 06:47:44 +0000</pubDate>
		<dc:creator>Graham</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[tip]]></category>
		<category><![CDATA[portal]]></category>
		<category><![CDATA[WebSphere Application Server]]></category>
		<category><![CDATA[WebSphere Portal]]></category>
		<category><![CDATA[WMM]]></category>

		<guid isPermaLink="false">http://www.torkwrench.com/?p=172</guid>
		<description><![CDATA[Any problem where WMM (WebSphere Member Manager) doesn&#8217;t start properly is a deal breaker for Portal. Once WMM fails, every other component will fail, and you&#8217;ll be faced with a nasty 404 message. After installing 6.0.1.4-WP-IFPK83731.zip and 6.0.1.4-WP-IFPK70263.zip on a &#8230; <a href="http://www.torkwrench.com/2009/12/14/cntr0019e-initialization-failed-due-to-invalid-property-supportedmembertypes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Any problem where WMM (WebSphere Member Manager) doesn&#8217;t start properly is a deal breaker for Portal. Once WMM fails, every other component will fail, and you&#8217;ll be faced with a nasty 404 message.</p>
<p>After installing 6.0.1.4-WP-IFPK83731.zip and 6.0.1.4-WP-IFPK70263.zip on a machine here I got this error message, and a 404 when I tried to hit portal. These fixes update the version of WMM to the (current) latest version. Here&#8217;s what was in my SystemOut.log</p>
<p>[12/14/09 17:31:09:618 EST] 0000002a SystemOut     O WMM Implementation Version: WMM5.6_PK83731 (April 1 2009)<br />
[12/14/09 17:31:09:618 EST] 0000002a WSMM Message  E com.ibm.ws.wmm.MemberRepositoryManager init() Initialization failed due to invalid property &#8220;supportedMemberTypes&#8221;.<br />
[12/14/09 17:31:09:653 EST] 0000002a WSMM Message  E com.ibm.ws.wmm.objectimpl.MemberServiceBeanBase ejbCreate() com.ibm.websphere.wmm.exception.InitializationException: Initialization failed due to invalid property &#8220;supportedMemberTypes&#8221;.<br />
[12/14/09 17:31:09:655 EST] 0000002a ExceptionUtil E   CNTR0019E: EJB threw an unexpected (non-declared) exception during invocation of method &#8220;getConfigurationData&#8221;. Exception data: com.ibm.ejs.container.CreateFailureException: ; nested exception is:<br />
        java.lang.reflect.InvocationTargetException<br />
        at com.ibm.ejs.container.StatelessBeanO.<init>(StatelessBeanO.java:172)<br />
        at com.ibm.ejs.container.CMStatelessBeanO.<init>(CMStatelessBeanO.java:58)<br />
        at com.ibm.ejs.container.CMStatelessBeanOFactory.create(CMStatelessBeanOFactory.java:40)<br />
        at com.ibm.ejs.container.EJSHome.createBeanO(EJSHome.java:913)<br />
        at com.ibm.ejs.container.EJSHome.createBeanO(EJSHome.java:1016)<br />
        at com.ibm.ejs.container.activator.UncachedActivationStrategy.atActivate(UncachedActivationStrategy.java:83)<br />
        at com.ibm.ejs.container.activator.Activator.activateBean(Activator.java:595)<br />
        at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3439)<br />
        at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2836)<br />
        at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2745)<br />
        at com.ibm.websphere.wmm.objects.EJSRemoteStatelessMemberService_14d751a3.getConfigurationData(Unknown Source)<br />
        at com.ibm.websphere.wmm.objects._MemberService_Stub.getConfigurationData(_MemberService_Stub.java:2292)<br />
        at com.ibm.wps.services.puma.SystemWMMAccessBean$39.run(SystemWMMAccessBean.java:906)<br />
        at com.ibm.ws.security.auth.distContextManagerImpl.runAs(distContextManagerImpl.java:2771)<br />
        at com.ibm.ws.security.auth.distContextManagerImpl.runAsSystem(distContextManagerImpl.java:2651)<br />
        at com.ibm.wps.services.puma.SystemWMMAccessBean.getConfigurationData(SystemWMMAccessBean.java:912)<br />
        at com.ibm.wps.services.puma.RealmAwareURManager.initRealms(RealmAwareURManager.java:117)<br />
        at com.ibm.wps.services.puma.RealmAwareURManager.<init>(RealmAwareURManager.java:103)<br />
        at com.ibm.wps.services.puma.PumaServiceImpl.init(PumaServiceImpl.java:215)<br />
        at com.ibm.wps.services.Service.init(Service.java:107)<br />
        at com.ibm.wps.services.Service.init(Service.java:83)<br />
        at com.ibm.wps.services.ServiceManager.createService(ServiceManager.java:400)<br />
        at com.ibm.wps.services.ServiceManager.getService(ServiceManager.java:527)<br />
        at com.ibm.wps.services.ServiceManager.getService(ServiceManager.java:553)<br />
        at com.ibm.wps.services.puma.Puma.<clinit>(Puma.java:52)<br />
        at com.ibm.wps.ac.impl.AccessControlDataManagementServiceImpl.initializeDomainConfig(AccessControlDataManagementServiceImpl.java:885)<br />
        at com.ibm.wps.ac.impl.AccessControlDataManagementServiceImpl.reinit(AccessControlDataManagementServiceImpl.java:792)<br />
        at com.ibm.wps.ac.impl.AccessControlDataManagementServiceImpl.init(AccessControlDataManagementServiceImpl.java:439)<br />
        at com.ibm.wps.services.ServiceManager.createService(ServiceManager.java:400)<br />
        at com.ibm.wps.services.ServiceManager.getService(ServiceManager.java:527)<br />
        at com.ibm.wps.ac.impl.AccessControlDataManagement.<clinit>(AccessControlDataManagement.java:41)<br />
        at com.ibm.wps.ac.impl.AccessControlServiceImpl.initializeServices(AccessControlServiceImpl.java:138)<br />
        at com.ibm.wps.ac.impl.AccessControlServiceImpl.init(AccessControlServiceImpl.java:114)<br />
        at com.ibm.wps.services.ServiceManager.createService(ServiceManager.java:400)<br />
        at com.ibm.wps.services.ServiceManager.getService(ServiceManager.java:527)<br />
        at com.ibm.wps.ac.internal.AccessControlLookupManager.getAccessControlLookup(AccessControlLookupManager.java:37)<br />
        at com.ibm.wps.ac.ACManager.getAccessControl(ACManager.java:132)<br />
        at com.ibm.hrl.siapi.search.admin.utils.PortletUtils.getPortalAdminUserID(PortletUtils.java:321)<br />
        at com.ibm.hrl.siapi.search.admin.portlets.manage.SearchAdminPortletManager.<init>(SearchAdminPortletManager.java:64)<br />
        at com.ibm.hrl.siapi.search.admin.portlets.SiapiSearchAdminPortlet.init(SiapiSearchAdminPortlet.java:532)<br />
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:320)<br />
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.initialize(ServletWrapper.java:1821)<br />
        at com.ibm.wsspi.webcontainer.extension.WebExtensionProcessor.createServletWrapper(WebExtensionProcessor.java:141)<br />
        at com.ibm.ws.webcontainer.webapp.WebApp.getServletWrapper(WebApp.java:885)<br />
        at com.ibm.ws.webcontainer.webapp.WebApp.initializeTargetMappings(WebApp.java:612)<br />
        at com.ibm.ws.webcontainer.webapp.WebApp.initialize(WebApp.java:479)<br />
        at com.ibm.ws.webcontainer.webapp.WebGroup.addWebApplication(WebGroup.java:123)<br />
        at com.ibm.ws.webcontainer.VirtualHost.addWebApplication(VirtualHost.java:146)<br />
        at com.ibm.ws.webcontainer.WebContainer.addWebApp(WebContainer.java:940)<br />
        at com.ibm.ws.webcontainer.WebContainer.addWebApplication(WebContainer.java:893)</p>
<p>I&#8217;m not sure what was updated in WMM for this one, but the solution is simple: install WAS 6.0.2.37 to fix it. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.torkwrench.com/2009/12/14/cntr0019e-initialization-failed-due-to-invalid-property-supportedmembertypes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips for changing your Portal datasources</title>
		<link>http://www.torkwrench.com/2009/08/04/tips-for-changing-your-portal-datasources/</link>
		<comments>http://www.torkwrench.com/2009/08/04/tips-for-changing-your-portal-datasources/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 05:33:09 +0000</pubDate>
		<dc:creator>Graham</dc:creator>
				<category><![CDATA[tip]]></category>
		<category><![CDATA[jdbc]]></category>
		<category><![CDATA[WebSphere Portal]]></category>
		<category><![CDATA[XAER_RMERR]]></category>

		<guid isPermaLink="false">http://www.torkwrench.com/?p=128</guid>
		<description><![CDATA[How to edit the portal datasources and meet off potential transaction log problems if they arise. <a href="http://www.torkwrench.com/2009/08/04/tips-for-changing-your-portal-datasources/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For some reason, we&#8217;ve got a test system that is hooked up to a db2 database that is using DHCP. This would be ok if Portal was configured to talk to the hostname of the database server, but it&#8217;s using the IP. So the inevitable happened and the IP of the database changed and the Portal server went down. </p>
<p>So the obvious fix is to change the datasource so it&#8217;s using the hostname of the database server, rather than the ip (or set a static IP for the database server, but that wouldn&#8217;t really require a whole blog post now would it!).</p>
<p>To do this, fire up the WAS admin console and navigate to datasources. </p>
<p><img src="http://www.torkwrench.com/wp-content/uploads/2009/08/datasources.png" alt="datasources" title="datasources" width="651" height="773" class="aligncenter size-full wp-image-129" /></p>
<p>Your list of datasources might be different to mine, depending on your database, but the principles are the same.</p>
<p>Go into each datasource and at the bottom you will see a properties dialog. Change the old IP to a hostname.</p>
<div id="attachment_130" class="wp-caption aligncenter" style="width: 353px"><img src="http://www.torkwrench.com/wp-content/uploads/2009/08/ds-props.png" alt="change the IP to a hostname" title="ds-props" width="343" height="181" class="size-full wp-image-130" /><p class="wp-caption-text">change the IP</p></div>
<p>All of them need to be changed, so go back into each one and change it. Now run the test, by selecting each one and clicking the test connection button.</p>
<p>You should get a message like this: </p>
<div id="attachment_131" class="wp-caption aligncenter" style="width: 642px"><img src="http://www.torkwrench.com/wp-content/uploads/2009/08/test-connection.png" alt="successful test connection message" title="test-connection" width="632" height="140" class="size-full wp-image-131" /><p class="wp-caption-text">successful test connection message</p></div>
<p>Now start Portal. Hmm, I get this when I try to go to the site&#8230;.</p>
<p>&#8221; Error 404: Initialization of one or more services failed. &#8221;</p>
<p>Check the SystemOut.log :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Caused by: com.ibm.websphere.ce.cm.StaleConnectionException: [ibm][db2][jcc][t4][2043][11550] Exception java.net.SocketException: Error opening socket to server /9.185.226.121 on port 50,000 with message: Operation timed out: connect:could be due to invalid address.DSRA0010E: SQL State = null, Error Code = -4,499<br />
<br />
&nbsp; &nbsp; at sun.reflect.GeneratedConstructorAccessor64.newInstance(Unknown Source)<br />
<br />
&nbsp; &nbsp; at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)<br />
<br />
&nbsp; &nbsp; at java.lang.reflect.Constructor.newInstance(Constructor.java:522)<br />
<br />
&nbsp; &nbsp; at com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapExceptionHelper(GenericDataStoreHelper.java:523)<br />
<br />
&nbsp; &nbsp; at com.ibm.websphere.rsadapter.GenericDataStoreHelper.mapException(GenericDataStoreHelper.java:578)<br />
<br />
&nbsp; &nbsp; at com.ibm.ws.rsadapter.AdapterUtil.mapException(AdapterUtil.java:2159)<br />
<br />
&nbsp; &nbsp; ... 11 more</div></div>
<p>Hang on, the datasource test worked? Why won&#8217;t the server start? It looks like it&#8217;s using the old database server IP still!</p>
<p>The answer lies in the transaction logs that WAS uses. These binary log files contain XA transactions that might not have been executed yet. You should take care when messing about with these files &#8211; they are there for a reason. But on the other hand, the server won&#8217;t start now, so we can hardly make things worse, can we <img src='http://www.torkwrench.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> ) . Stop the server1 and WebSphere_Portal application servers and go to your wp_profile directory. Delete the contents of the tranlog and recoverylogs directories and try to start the server again.</p>
<p>This message should appear in SystemOut :</p>
<div class="codecolorer-container text dawn" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[4/08/09 15:23:16:825 EST] 00000012 LogHandle &nbsp; &nbsp; I &nbsp; CWRLS0007I: No existing recovery log files found in C:/WebSphere/wp_profile\tranlog\win61\win61\WebSphere_Portal\transaction\tranlog. Cold starting the recovery log.<br />
<br />
[4/08/09 15:23:16:825 EST] 00000012 LogFileHandle I &nbsp; CWRLS0006I: Creating new recovery log file C:/WebSphere/wp_profile\tranlog\win61\win61\WebSphere_Portal\transaction\tranlog\log1.<br />
<br />
[4/08/09 15:23:16:841 EST] 00000012 LogFileHandle I &nbsp; CWRLS0006I: Creating new recovery log file C:/WebSphere/wp_profile\tranlog\win61\win61\WebSphere_Portal\transaction\tranlog\log2.<br />
<br />
[4/08/09 15:23:16:856 EST] 00000012 LogHandle &nbsp; &nbsp; I &nbsp; CWRLS0007I: No existing recovery log files found in C:/WebSphere/wp_profile\tranlog\win61\win61\WebSphere_Portal\transaction\partnerlog. Cold starting the recovery log.<br />
<br />
[4/08/09 15:23:16:856 EST] 00000012 LogFileHandle I &nbsp; CWRLS0006I: Creating new recovery log file C:/WebSphere/wp_profile\tranlog\win61\win61\WebSphere_Portal\transaction\partnerlog\log1.<br />
<br />
[4/08/09 15:23:16:856 EST] 00000012 LogFileHandle I &nbsp; CWRLS0006I: Creating new recovery log file C:/WebSphere/wp_profile\tranlog\win61\win61\WebSphere_Portal\transaction\partnerlog\log2.<br />
<br />
[4/08/09 15:23:16:903 EST] 00000012 RecoveryManag A &nbsp; WTRN0028I: Transaction service recovering 0 transactions.</div></div>
<p>Success, now the server will start up!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.torkwrench.com/2009/08/04/tips-for-changing-your-portal-datasources/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse + flash drive = IDE anywhere</title>
		<link>http://www.torkwrench.com/2009/03/03/eclipse-flash-drive-ide-anywhere/</link>
		<comments>http://www.torkwrench.com/2009/03/03/eclipse-flash-drive-ide-anywhere/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 10:39:16 +0000</pubDate>
		<dc:creator>Graham</dc:creator>
				<category><![CDATA[tip]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[flashdrive]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://www.torkwrench.com/?p=18</guid>
		<description><![CDATA[I&#8217;m taking a introduction to Java course at night school at the moment.  I&#8217;ve bought so many &#8216;Learn Java in 15 minutes&#8217; books and they just sit on the shelf and get dusty. So the class is supposed to make &#8230; <a href="http://www.torkwrench.com/2009/03/03/eclipse-flash-drive-ide-anywhere/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m taking a introduction to Java course at night school at the moment.  I&#8217;ve bought so many &#8216;Learn Java in 15 minutes&#8217; books and they just sit on the shelf and get dusty. So the class is supposed to make me work at it.</p>
<p>In the class we all are giving nice little windows PCs, and they all have NetBeans 6.5 installed on them. Nothing against NetBeans, but everyone at work uses Eclipse, and I&#8217;ve played with Eclipse quite a bit so I didn&#8217;t really want to learn NetBeans.</p>
<p>Since the course is held in one of the most treacherous IT environments imaginable (a <a href="http://www.tafensw.edu.au/">school</a>!) with every wiseass trying to hack the machines, they are locked down pretty tight. So I didn&#8217;t imagine I&#8217;d be able to install Eclipse. Also, since you weren&#8217;t assigned a specific computer for each session, installing it each time on a different machine wasn&#8217;t going to be an option.</p>
<p>I guess you read the title, so know what&#8217;s going to come next. I dumped a build of <a href="http://www.ibm.com/developerworks/eclipse/downloads/ganymede/">Ganymede</a> onto a crappy flash drive at home and took it to class. Eclipse ran just great off the drive. The particular flash drive has terrible r/w speeds too. I really thought it wouldn&#8217;t work well at all. Just make sure you create your workspace on the flash drive too (duh). Now I can work from the same development environment where ever I am. The only caveat I guess is that it has to be the same OS (Wndows, in my case). I&#8217;m sure there is some way to launch a Windows build of Eclipse on Linux, but it would be hard to figure out. Too much mucking around with the classpath.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.torkwrench.com/2009/03/03/eclipse-flash-drive-ide-anywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
