<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to BlueJ</title><link>https://sourceforge.net/p/kartenspiele/wiki/BlueJ/</link><description>Recent changes to BlueJ</description><atom:link href="https://sourceforge.net/p/kartenspiele/wiki/BlueJ/feed" rel="self"/><language>en</language><lastBuildDate>Tue, 11 Dec 2012 14:25:58 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/kartenspiele/wiki/BlueJ/feed" rel="self" type="application/rss+xml"/><item><title>WikiPage BlueJ modified by Christian</title><link>https://sourceforge.net/p/kartenspiele/wiki/BlueJ/</link><description>&lt;pre&gt;--- v1
+++ v2
@@ -1,6 +1,6 @@
-Though BlueJ is the intended target using this API BlueJ is notorious piggy about the &lt;code&gt;CLASSPATH&lt;/code&gt;. I did not work out yet why it is so problematic to configure  BlueJ to tell the VM that launches students’ code to pass that VM the appropriate &lt;code&gt;CLASSPATH&lt;/code&gt;.
+Though [BlueJ](http://www.bluej.org/) is the intended target using this API BlueJ is notorious piggy about the &lt;code&gt;CLASSPATH&lt;/code&gt;. I did not work out yet why it is so problematic to configure  BlueJ to tell the VM that launches students’ code to pass that VM the appropriate &lt;code&gt;CLASSPATH&lt;/code&gt;.
 
-Anyway a number of errors pop up using BlueJ and a naïve configuration that puts networking library SIMON where such library has to be but – into &lt;code&gt;lib/userlib&lt;/code&gt;. SIMON usually fails to get student’s code for serialization and so the story ends with an impressing stacktrace.
+Anyway a number of errors pop up using BlueJ and a naïve configuration that puts networking library SIMON where such library has to be put – into &lt;code&gt;lib/userlib&lt;/code&gt;. SIMON usually fails to get student’s code for serialization and so the story ends with an impressing stacktrace.
 
 Starting on the commandline (using a VM with a single classloader that can be configured well) works fine. So you are strongly encouraged to test the commandline first before you decide to battle with classloading that has its evil ways somewhere behind BlueJ.
 
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian</dc:creator><pubDate>Tue, 11 Dec 2012 14:25:58 -0000</pubDate><guid>https://sourceforge.net13aacd9448d83f08083c6cdf204a4de2399bc4e0</guid></item><item><title>WikiPage BlueJ modified by Christian</title><link>https://sourceforge.net/p/kartenspiele/wiki/BlueJ/</link><description>Though BlueJ is the intended target using this API BlueJ is notorious piggy about the &lt;code&gt;CLASSPATH&lt;/code&gt;. I did not work out yet why it is so problematic to configure  BlueJ to tell the VM that launches students’ code to pass that VM the appropriate &lt;code&gt;CLASSPATH&lt;/code&gt;.

Anyway a number of errors pop up using BlueJ and a naïve configuration that puts networking library SIMON where such library has to be but – into &lt;code&gt;lib/userlib&lt;/code&gt;. SIMON usually fails to get student’s code for serialization and so the story ends with an impressing stacktrace.

Starting on the commandline (using a VM with a single classloader that can be configured well) works fine. So you are strongly encouraged to test the commandline first before you decide to battle with classloading that has its evil ways somewhere behind BlueJ.

&lt;pre&gt;
11.12.2012 15:08:27 de.root1.simon.codec.base.MsgInvokeDecoder decodeBody
SCHWERWIEGEND: Exception while reading arguments.
java.lang.ClassCastException: cannot assign instance of java.lang.String to field cardgames.model.FrenchCard.suit of type cardgames.model.FrenchCard$Suit in instance of cardgames.model.maumau.Card
	at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2039)
	at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1212)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1952)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at org.apache.mina.core.buffer.AbstractIoBuffer.getObject(AbstractIoBuffer.java:2184)
	at org.apache.mina.core.buffer.AbstractIoBuffer.getObject(AbstractIoBuffer.java:2135)
	at de.root1.simon.codec.base.MsgInvokeDecoder.decodeBody(MsgInvokeDecoder.java:74)
	at de.root1.simon.codec.base.AbstractMessageDecoder.decode(AbstractMessageDecoder.java:97)
	at org.apache.mina.filter.codec.demux.DemuxingProtocolDecoder.doDecode(DemuxingProtocolDecoder.java:173)
	at org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtocolDecoder.java:176)
	at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:232)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
	at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:710)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
11.12.2012 15:08:27 de.root1.simon.Dispatcher exceptionCaught
SCHWERWIEGEND: exception Caught. thread=NioProcessor-3 session=0x00000002. Exception:
 org.apache.mina.filter.codec.ProtocolDecoderException: No appropriate message decoder: 7E 72 01 00 1F 63 61 72 64 67 61 6D 65 73 2E 6D 6F 64 65 6C 2E 46 72 65 6E 63 68 43 61 72 64 24 53 75 69 74 78 71 00 7E 00 04 74 00 08 44 69 61 6D 6F 6E 64 73 70 (Hexdump: 7E 72 01 00 1F 63 61 72 64 67 61 6D 65 73 2E 6D 6F 64 65 6C 2E 46 72 65 6E 63 68 43 61 72 64 24 53 75 69 74 78 71 00 7E 00 04 74 00 08 44 69 61 6D 6F 6E 64 73 70)
	at org.apache.mina.filter.codec.demux.DemuxingProtocolDecoder.doDecode(DemuxingProtocolDecoder.java:161)
	at org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtocolDecoder.java:176)
	at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:232)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
	at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:710)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)

Exception in thread "Simon.Dispatcher.WorkerPool.#1" de.root1.simon.exceptions.SimonException: An error occured while reading a message for remote object 'SimonRemoteInstance[cardgames.remote.maumau.PlayerClientConsole|ip=/10.0.0.13:4753;sessionID=2;remoteObjectHash=2504864]'. Error message: Error while decoding invoke request
	at de.root1.simon.ProcessMessageRunnable.processError(ProcessMessageRunnable.java:722)
	at de.root1.simon.ProcessMessageRunnable.run(ProcessMessageRunnable.java:159)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.Exception: Problem reading method argument. Maybe argument isn't serializable?!
	at java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2039)
	at java.io.ObjectStreamClass.setObjFieldValues(ObjectStreamClass.java:1212)
	at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1952)
	at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
	at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
	at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
	at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
	at org.apache.mina.core.buffer.AbstractIoBuffer.getObject(AbstractIoBuffer.java:2184)
	at org.apache.mina.core.buffer.AbstractIoBuffer.getObject(AbstractIoBuffer.java:2135)
	at de.root1.simon.codec.base.MsgInvokeDecoder.decodeBody(MsgInvokeDecoder.java:74)
	at de.root1.simon.codec.base.AbstractMessageDecoder.decode(AbstractMessageDecoder.java:97)
	at org.apache.mina.filter.codec.demux.DemuxingProtocolDecoder.doDecode(DemuxingProtocolDecoder.java:173)
	at org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtocolDecoder.java:176)
	at org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:232)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:47)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:765)
	at org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:109)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:417)
	at org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:410)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:710)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:664)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:653)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor.access$600(AbstractPollingIoProcessor.java:67)
	at org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:1124)
	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
	... 3 more
&lt;/pre&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian</dc:creator><pubDate>Tue, 11 Dec 2012 14:19:12 -0000</pubDate><guid>https://sourceforge.netb8ee84b3a96dc92d90554bcf583315e1376cb7ee</guid></item></channel></rss>