<?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>kopf.lastig &#187; Java</title>
	<atom:link href="http://www.epischel.de/wordpress/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.epischel.de/wordpress</link>
	<description>Alles mögliche zu Themen wie Familie, Beruf, Medien etc. ...</description>
	<lastBuildDate>Fri, 15 Jul 2011 04:32:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Einfache Konstruktoren</title>
		<link>http://www.epischel.de/wordpress/2009/09/einfache-konstruktoren/</link>
		<comments>http://www.epischel.de/wordpress/2009/09/einfache-konstruktoren/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 11:52:04 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Softwarentwicklung]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=81</guid>
		<description><![CDATA[Gespräch mit Kollege: Gegeben Klasse A und Klasse B extends A und ich rufe im Konstruktor von A eine Methode auf, die in B überschrieben wird und die dort auf eine in B definierte Variable zugreift, dann ist diese Variable zum Zeitpunkt des Aufrufs nicht initialisiert. Das stimmt. Wozu brauchst Du das? Klasse Gruppenbaum, im [...]]]></description>
			<content:encoded><![CDATA[<p>Gespräch mit Kollege:<br />
Gegeben Klasse A und Klasse B extends A und ich rufe im Konstruktor von A eine Methode auf, die in B überschrieben wird und die dort auf eine in B definierte Variable zugreift, dann ist diese Variable zum Zeitpunkt des Aufrufs nicht initialisiert. <a href="http://www.javaworld.com/javaworld/jw-03-1998/jw-03-initialization.html?page=5">Das stimmt.</a></p>
<p>Wozu brauchst Du das?<br />
Klasse Gruppenbaum, im Konstruktor lese ich Baum aus DB.<br />
Na das ist ja nicht so gut. Konstruktoren sollten ihr Objekt in einen definierten Zustand bringen, mehr aber auch nicht. <a href="http://www.javaworld.com/javaworld/jw-03-1998/jw-03-techniques.html?page=5">Wurde schon vor langer Zeit beschrieben.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2009/09/einfache-konstruktoren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Finalizer in Java: lieber Finger weg!</title>
		<link>http://www.epischel.de/wordpress/2008/09/finalizer-in-java-lieber-finger-weg/</link>
		<comments>http://www.epischel.de/wordpress/2008/09/finalizer-in-java-lieber-finger-weg/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 16:07:18 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Softwarentwicklung]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=72</guid>
		<description><![CDATA[Laut Java-Spezifikation werden Finalizer in Java aufgerufen, bevor das entsprechende Objekt durch den Garbage Collector aus dem Speicher entfernt wird. Das klingt erst mal verlockend &#8211; hier könnte man ja automatische das Freigeben von Resourcen unterbringen. Aber! Es wird nicht garantiert, wann der Finalizer aufgerufen wird. Die freizugebenden Resourcen sind solange blockiert. Schlimmer kommt es [...]]]></description>
			<content:encoded><![CDATA[<p>Laut Java-Spezifikation werden Finalizer in Java aufgerufen, bevor das entsprechende Objekt durch den Garbage Collector aus dem Speicher entfernt wird. Das klingt erst mal verlockend &#8211; hier könnte man ja automatische das Freigeben von Resourcen unterbringen.</p>
<p><strong>Aber!</strong> Es wird nicht garantiert, wann der Finalizer aufgerufen wird. Die freizugebenden Resourcen sind solange blockiert. Schlimmer kommt es noch, wenn ein Finalizer ungewöhnlich lange für die Verarbeitung benötigt. Dann können die Resourcen, die die Objekte der anderen anstehenden Finalizer halten, nicht freigegeben werden. Dies kann zu Out-of-Filehandles oder zu Out-of-Memory-Fehlern führen, wenn die Entwickler sich auf die zeitnahe Abarbeitung von Finalizern verlassen.</p>
<p>Dies ist uns letztens passiert: Unsere Anwendung beendet sich nachweisbar nach einigen hundert Webservice-Aufrufen. Ergebnis der Problemanalyse: Ein Objekt einer Klasse des Oracle IAS scheint den Finalizer-Warteschlange zu blockieren, somit werden Objekte aus dem AXIS-(1.0)-Framework nicht finalisiert, die jedoch Referenzen auf speicherfressende DOM-Objektbäume halten. Diese DOM-Objektbäume können dadurch nicht garbage-collected werden, sammeln sich an und schliesslich kommt der Out-of-Memory-Fehler. Im generierten Webservice-Stub-Code haben wir manuell den Aufruf an den Finalizer (genauer: an die dispose-Methode) eingefügt und siehe da, dass Problem ist beseitigt.</p>
<p>An einer anderen Stelle (ebenfalls AXIS) sind wir vor 1-2 Jahren in ein ähnliches Problem gelaufen, da ging es jedoch um FileHandles oder Netzwerk-Ports. Auch da half manuelles freigeben der Resourcen.</p>
<p><strong>Fazit</strong>: Es ist besser, die Resourcen von Hand freizugeben. &#8220;Zur Sicherheit&#8221; mag man noch einen Finalizer schreiben, aber wenn dieser wiederum die Finalize-Warteschlange blockieren könnte (etwa weil auf ein Netzwerk-Timeout gewartet wird), dann sollte man auch davon die Finger lassen.</p>
<p>Tools zum Analysieren von Memory-Dumps:</p>
<ul>
<li><a href="http://www.google.de/search?hl=de&amp;q=sap+%22memory+analyzer%22">SAP Memory-Analyzer</a></li>
<li><a href="http://www.alphaworks.ibm.com/tech/heapanalyzer">IBM HeapAnalyzer</a></li>
<li><a href="http://h20392.www2.hp.com/portal/swdepot/displayProductInfo.do?productNumber=HPUXJAVAHOME">HP JMeter</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2008/09/finalizer-in-java-lieber-finger-weg/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Troubleshooting &#8211; J2EE und Filesystem voll</title>
		<link>http://www.epischel.de/wordpress/2006/12/troubleshooting-j2ee-und-filesystem-voll/</link>
		<comments>http://www.epischel.de/wordpress/2006/12/troubleshooting-j2ee-und-filesystem-voll/#comments</comments>
		<pubDate>Fri, 08 Dec 2006 16:31:16 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Softwarentwicklung]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=61</guid>
		<description><![CDATA[Wir hatten folgendes Problem. Symptom: Manchmal wurden Bilder nicht geladen, Manchmal gab es Fehlermeldungen am Anfang oder Ende einer Seite. Umgebung: J2EE-Anwendung auf Oracle IAS 9.0.4 (2 OC4J-instanzen) unter Sun Java VM 1.4.2 auf HP-UX, 8 Prozessor-Maschine, als Entwicklungsumgebung. Analyse: vmstat sagt: ca. 35-40 Prozesse laufen ständig, Anteil user 15%, Anteil sys 85%, idle 0%. [...]]]></description>
			<content:encoded><![CDATA[<p>Wir hatten folgendes Problem.</p>
<p>Symptom: Manchmal wurden Bilder nicht geladen, Manchmal gab es Fehlermeldungen am Anfang oder Ende einer Seite.</p>
<p>Umgebung: J2EE-Anwendung auf Oracle IAS 9.0.4 (2 OC4J-instanzen) unter Sun Java VM 1.4.2 auf HP-UX, 8 Prozessor-Maschine, als Entwicklungsumgebung.</p>
<p>Analyse:</p>
<ol>
<li>vmstat sagt: ca. 35-40 Prozesse laufen ständig, Anteil user 15%, Anteil sys 85%, idle 0%. Memory ist nicht knapp, Paging kaum</li>
<li>top sagt: eine oc4j-Instanz verursacht die prozessorlast</li>
<li>die log-files sind leer! (0 bytes)</li>
<li>jvm-stacktrace ergibt keine weiteren auffälligkeiten (kein anwendungscode im stacktrace, mostly waits oder Input/outputs)</li>
</ol>
<p>Wir spielen das vorletzte build ein, welches am tag zuvor noch gelaufen ist.</p>
<p>Analyse:</p>
<ol>
<li>redeploy sehr langsam</li>
<li>symptom und analyseergebnisse bleiben gleich</li>
</ol>
<p>Wir rufen beim betrieb an.</p>
<p>Ergebnis: Filesystem voll!</p>
<p>nachdem der betrieb das problem behoben hatte, lief die anwendung (nach dem redeploy der aktuellen version) wieder normal.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2006/12/troubleshooting-j2ee-und-filesystem-voll/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JAMon 2.0 &#8211; Monitoring Java Applications</title>
		<link>http://www.epischel.de/wordpress/2006/05/jamon-20-monitoring-java-applications/</link>
		<comments>http://www.epischel.de/wordpress/2006/05/jamon-20-monitoring-java-applications/#comments</comments>
		<pubDate>Mon, 01 May 2006 21:45:02 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Software-Entwicklung]]></category>
		<category><![CDATA[Softwareentwicklung]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=46</guid>
		<description><![CDATA[Kürzlich wurde Version 2.0 von JAMon veröffentlicht. JAMon ist eine kleine, für Java-Anwendungen nützliche Monitoring-Bibliothek. In Version 1 gab es die Möglichkeit, Ausführungszeiten von Code programmatisch zu messen: PLAIN TEXT JAVA: &#160; Monitor m = MonitorFactory.start&#40;"berechnung"&#41;; BerechnungsModul.berechne&#40;&#41;; m.stop&#40;&#41;; &#160; misst die Ausführungszeit der berechne-Methode. Das interessante hierbei ist Statistiken werden über die Ausführungszeiten (genauer: Ausführungsdauer) [...]]]></description>
			<content:encoded><![CDATA[<p>Kürzlich wurde Version 2.0 von <a title="JAMon" href="http://www.jamonapi.com">JAMon </a>veröffentlicht. JAMon ist eine kleine, für Java-Anwendungen nützliche Monitoring-Bibliothek.</p>
<p>In Version 1  gab es die Möglichkeit, Ausführungszeiten von Code programmatisch zu messen:</p>
<div class="igBar"><a href="javascript:showCodeTxt('java-3');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVA:</span>
<div id="java-3">
<div class="java">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">Monitor m = MonitorFactory.<span style="color: #006600;">start</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #ff0000;">"berechnung"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">BerechnungsModul.<span style="color: #006600;">berechne</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">m.<span style="color: #006600;">stop</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>misst die Ausführungszeit der berechne-Methode. Das interessante hierbei ist</p>
<ol>
<li>Statistiken werden über die Ausführungszeiten (genauer: Ausführungsdauer) erstellt (Summe, Mittelwert, Standardabweichung und sogar Einteilung in bestimmte Klassen),</li>
<li>Ausführungszeiten werden Namen gegeben (hier "berechnung") und</li>
<li>Die Statistiken können als HTML-Report ausgegeben (programmatisch oder per JSP).</li>
</ol>
<p>Damit ist schon viel getan, u.a.:</p>
<ul>
<li>in Webanwendungen kann ich einen Servletfilter erstellen, der die Ausführungsdauer aller (oder nur bestimmter) Aufrufe misst (dies hat bei geringem Aufwand großen Nutzen),</li>
<li>Aufrufe an "externe Systeme" (z.B. Datenbank, Web-Services oder Betriebssystem) können gemessen werden</li>
<li>anhand der Messergebnisse kann der Entwickler abschätzen, ob eine Optimierung notwendig ist</li>
<li>anhand der Messergebnisse (z.B. im Vergleich zum Vortag) kann der Betrieb abschätzen, ob sich das System derzeit aussergewöhnlich verhält.</li>
</ul>
<p>In Version 2 (ein komplettes Redesign) kommt hinzu, dass ich nicht nur Zeiten messen kann, sondern beliebige Einheiten. Ich kann z.B. eine Statistik über die Trefferzahl einer Suche führen:</p>
<div class="igBar"><a href="javascript:showCodeTxt('java-4');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVA:</span>
<div id="java-4">
<div class="java">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #993333;">int</span> treffer = Suche.<span style="color: #006600;">ausfuehren</span><span style="color:#006600; font-weight:bold;">&#40;</span>...<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">MonitorFactory.<span style="color: #006600;">add</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #ff0000;">"treffer"</span>,<span style="color: #ff0000;">"anzahl"</span>,treffer<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>fügt die Trefferzahl dem Statistikeintrag "treffer", die in der Einheit "anzahl" gemessen wird, zu. Bisher habe ich nur noch nicht herausgefunden, wie man Klassen (im Sinne von "Unterteilung des Wertebereiches") für nutzerdefinierte Einheiten definieren kann.<br />
Alles in allem ein Tool, welches einen großen Nutzen bringt. Das Spring-Framework unterstützt JAMon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2006/05/jamon-20-monitoring-java-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Hibernate &#8211; A Developers Notebook&#8221; &#8211; migrating to Hibernate 3.0, Chapter 8</title>
		<link>http://www.epischel.de/wordpress/2005/12/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-8/</link>
		<comments>http://www.epischel.de/wordpress/2005/12/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-8/#comments</comments>
		<pubDate>Fri, 23 Dec 2005 22:31:20 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Bücher]]></category>
		<category><![CDATA[Hibernate]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=39</guid>
		<description><![CDATA[Chapter 8 introduces Criteria Queries. Only QueryTest.java is affected. Besides the usual net.sf.hibernate to org.hibernate package import renaming, net.sf.hibernate.expressions in Hibernate 2 is replaced by org.hibernate.criterion. Moreover, change the line PLAIN TEXT JAVA: &#160; Example example = Example.create&#40;new Artist&#40;namePattern, null, null&#41;&#41;; &#160; to PLAIN TEXT JAVA: &#160; Artist artist = new Artist&#40;&#41;; artist.setName&#40;namePattern&#41;; Example example [...]]]></description>
			<content:encoded><![CDATA[<p>Chapter 8 introduces Criteria Queries. Only <code>QueryTest.java</code> is affected. Besides the usual <code>net.sf.hibernate</code> to <code>org.hibernate</code> package import renaming, <code>net.sf.hibernate.expressions</code> in Hibernate 2 is replaced by <code>org.hibernate.criterion</code>.</p>
<p>Moreover, change the line</p>
<div class="igBar"><a href="javascript:showCodeTxt('java-7');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVA:</span>
<div id="java-7">
<div class="java">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">Example example = Example.<span style="color: #006600;">create</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> Artist<span style="color:#006600; font-weight:bold;">&#40;</span>namePattern, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>to</p>
<div class="igBar"><a href="javascript:showCodeTxt('java-8');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVA:</span>
<div id="java-8">
<div class="java">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">Artist artist = <span style="color: #000000; font-weight: bold;">new</span> Artist<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">artist.<span style="color: #006600;">setName</span><span style="color:#006600; font-weight:bold;">&#40;</span>namePattern<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">Example example = Example.<span style="color: #006600;">create</span><span style="color:#006600; font-weight:bold;">&#40;</span>artist<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>because Hibernate 3 has generated no argument constructors only.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2005/12/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Hibernate &#8211; A Developers Notebook&#8221; &#8211; migrating to Hibernate 3.0, Chapter 7</title>
		<link>http://www.epischel.de/wordpress/2005/11/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-6-2/</link>
		<comments>http://www.epischel.de/wordpress/2005/11/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-6-2/#comments</comments>
		<pubDate>Fri, 04 Nov 2005 18:26:20 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Bücher]]></category>
		<category><![CDATA[Hibernate]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=34</guid>
		<description><![CDATA[Chapter 7 is working in Hibernate 3 (as opposed to chapter 6). The most challanging in this chapter migrationwise are StereoVolumeType.java and SourceMediaType.java . Change the import-package names. The Usertype-stuff is now under the package "org.hibernate.usertype". It won't compile, yet as there are some methods missing. For SourceMediaType.java: PLAIN TEXT JAVA: &#160; public Object replace&#40;Object [...]]]></description>
			<content:encoded><![CDATA[<p>Chapter 7 is working in Hibernate 3 (as opposed to chapter 6). The most challanging in this chapter migrationwise are StereoVolumeType.java and SourceMediaType.java . Change the import-package names. The Usertype-stuff is now under the package "org.hibernate.usertype". It won't compile, yet as there are some methods missing. For SourceMediaType.java:</p>
<div class="igBar"><a href="javascript:showCodeTxt('java-11');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVA:</span>
<div id="java-11">
<div class="java">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> replace<span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> original, <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> target, <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> owner<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">throws</span> HibernateException <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> original;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?q=allinurl%3ASerializable+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Serializable</span></a> disassemble<span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> value<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">return</span> <span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3ASerializable+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Serializable</span></a><span style="color:#006600; font-weight:bold;">&#41;</span> deepCopy<span style="color:#006600; font-weight:bold;">&#40;</span>value<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> assemble<span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3ASerializable+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Serializable</span></a> cached,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> owner<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">// Our value type happens to be serializable, so we have an easy out.</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">return</span> deepCopy<span style="color:#006600; font-weight:bold;">&#40;</span>cached<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">int</span> hashCode<span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> o<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> o.<span style="color: #006600;">hashCode</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>For StereoVolumeType.java:</p>
<div class="igBar"><a href="javascript:showCodeTxt('java-12');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVA:</span>
<div id="java-12">
<div class="java">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> replace<span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> original, <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> target,SessionImplementor session,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> owner<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000000; font-weight: bold;">throws</span> HibernateException <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">return</span> deepCopy<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#40;</span>StereoVolumeType<span style="color:#006600; font-weight:bold;">&#41;</span>original<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #993333;">int</span> hashCode<span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> o<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> o.<span style="color: #006600;">hashCode</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #000000; font-weight: bold;">public</span> <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> replace<span style="color:#006600; font-weight:bold;">&#40;</span><a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> original, <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> target, <a href="http://www.google.com/search?q=allinurl%3AObject+java.sun.com&#038;bntl=1"><span style="color: #aaaadd; font-weight: bold;">Object</span></a> owner<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">throws</span> HibernateException <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #000000; font-weight: bold;">return</span> original;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;<span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>That's it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2005/11/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-6-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Hibernate &#8211; A Developers Notebook&#8221; &#8211; migrating to Hibernate 3.0, Chapter 6</title>
		<link>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-6/</link>
		<comments>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-6/#comments</comments>
		<pubDate>Mon, 26 Sep 2005 08:47:27 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Bücher]]></category>
		<category><![CDATA[Hibernate]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=30</guid>
		<description><![CDATA[You can skip the entire chapter 6 if you use Hibernate 3. It is based on the interface PersistenceEnum which already became deprecated in Hibernate 2 as the author points out in the errata. The interface has apparently removed in Hibernate 3.]]></description>
			<content:encoded><![CDATA[<p>You can skip the entire chapter 6 if you use Hibernate 3. It is based on the interface <code>PersistenceEnum</code> which already became deprecated in Hibernate 2 as the author points out in the <a href="http://www.oreilly.com/catalog/hibernate/errata/hibernate.confirmed">errata</a>. The interface has apparently removed in Hibernate 3.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Hibernate &#8211; A Developers Notebook&#8221; &#8211; migrating to Hibernate 3.0, Chapter 5</title>
		<link>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-5/</link>
		<comments>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-5/#comments</comments>
		<pubDate>Mon, 26 Sep 2005 08:44:37 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Bücher]]></category>
		<category><![CDATA[Hibernate]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=29</guid>
		<description><![CDATA[As in chapter 4, copy the hbm.xml-files and change the DTD-reference. Leave CreateTest.java, QueryTest.java and QueryTest2.java alone - they will still compile. Copy the AlbumTest.java file, change the hibernate-imports and the constructor calls as well as int parameters to Integer. This should be easy as we have done that before.]]></description>
			<content:encoded><![CDATA[<p>As in chapter 4, copy the hbm.xml-files and change the DTD-reference. Leave <code>CreateTest.java</code>, <code>QueryTest.java </code>and <code>QueryTest2.java</code> alone - they will still compile. Copy the <code>AlbumTest.java</code> file, change the hibernate-imports and the constructor calls as well as int parameters to <code>Integer</code>.</p>
<p>This should be easy as we have done that before.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8220;Hibernate &#8211; A Developers Notebook&#8221; &#8211; migrating to Hibernate 3.0, Chapter 4</title>
		<link>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-4/</link>
		<comments>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-4/#comments</comments>
		<pubDate>Thu, 15 Sep 2005 15:26:12 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Bücher]]></category>
		<category><![CDATA[Hibernate]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=28</guid>
		<description><![CDATA[In this chapter, we add an Entity called "Artist" as well as an entity called "Comments". Copy both Track.hbm.xml and Artist.hbm.xml from the examples-distribution and remember to change the DTD-reference if necessary. When using "ant schema", SAX complained it couldn't find ${src.root}/com/oreilly/hh/hibernate-mapping-2.0.dtd for Artist.hbm.xml. That's strange because it didn't complain about it in Track.hbm.xml before. [...]]]></description>
			<content:encoded><![CDATA[<p>In this chapter, we add an Entity called "Artist" as well as an entity called "Comments".</p>
<p>Copy both <code>Track.hbm.xml</code> and <code>Artist.hbm.xml</code> from the examples-distribution and remember to change the DTD-reference if necessary.<br />
When using "<code>ant schema</code>", SAX complained it couldn't find <code>${src.root}/com/oreilly/hh/hibernate-mapping-2.0.dtd</code> for <code>Artist.hbm.xml</code>.<br />
That's strange because it didn't complain about it in <code>Track.hbm.xml</code> before. However, I place the DTD file in <code>${src.root}/com/oreilly/hh</code><br />
and the prepare-target now copies <code>*.dtd</code> file, too.</p>
<p>The code generation is no problem. I has changed <code>CreateTest.java</code> again according to Java-beans coding style.<br />
The package name in <code>QueryTest.java</code> and <code>QueryTest2.java</code> needs to be changed again from "<code>net.sf.hibernate...</code>" to "<code>org.hibernate...</code>" and everything works.</p>
<p>So that's it for chapter 4. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2005/09/hibernate-a-developers-notebook-migrating-to-hibernate-30-chapter-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSSE 1.0 bug keeps me busy</title>
		<link>http://www.epischel.de/wordpress/2005/09/jsse-10-bug-keeps-me-busy/</link>
		<comments>http://www.epischel.de/wordpress/2005/09/jsse-10-bug-keeps-me-busy/#comments</comments>
		<pubDate>Mon, 12 Sep 2005 16:16:50 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.epischel.de/wordpress/?p=27</guid>
		<description><![CDATA[An bug in JSSE 1.0.3 keeps me busy the whole monday - ending up with migrating from JDK1.2.2 to JDK1.4.2 "out of the cold". In one of my maintenance project that realize some kind of an online-shop, "we" use a third-party website for payment. Last friday afternoon they installed a new SSL-certificate. Since then, the [...]]]></description>
			<content:encoded><![CDATA[<p>An bug in JSSE 1.0.3 keeps me busy the whole monday - ending up with migrating from JDK1.2.2 to JDK1.4.2 "out of the cold".</p>
<p>In one of my maintenance project that realize some kind of an online-shop, "we" use a third-party website for payment. Last friday afternoon they installed a new SSL-certificate. Since then, the shop couldn't connect to that website with JSSE 1.0.3 (itself running an old setup with JDK1.2.2 and JRun - to be overhauled next month). </p>
<p>Tracing revealed "issuer != subject DN" - even for JDK1.4.2 . I couldn't figure out why. I tried to store the certificate in a keystore and cacerts but it wouldn't work either. So I tried a workaround using a dummy trust manager. It worked for JDK1.4.2 but not for JDK1.2.2.</p>
<p>In the end i figured out the server certificate had something like<br />
<code>O=#0C294A3...</code><br />
in the subject which JSSE 1.0 <a href="http://archives.java.sun.com/cgi-bin/wa?A2=ind0004&amp;L=java-security&amp;F=&amp;S=&amp;P=10771" class="broken_link">cannot parse</a>. So even without evaluating the certificate it didn't work. I was stuck here.</p>
<p>So we had no choice but to immediately upgrade to JDK1.4.2 since otherwise there was no payment possible. Luckily, it worked great! No problems so far!</p>
<p>If the thirdparty had noticed us about the new certificate, I had detected the problem as early as friday afternoon. But that's life I guess.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.epischel.de/wordpress/2005/09/jsse-10-bug-keeps-me-busy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

