<br>
I am starting with Drools. <br>
I am using Drools Flow 5.0.1, Eclipse 5.2, JDK 1.6.0. <br><br>
I
am trying to run the Evaluation Example. It has just 3 human tasks. I
launched a Mina task Server that seems to work fine. Error occurs on
the server when launching the ruflow  that is trying to add the task to
the server. <br>
<br>
[10:01:12] NioProcessor-1 INFO  [] []
[org.apache.mina.filter.logging.LoggingFilter] - CREATED<br>
[10:01:12] NioProcessor-1 INFO  [] []
[org.apache.mina.filter.logging.LoggingFilter] - OPENED<br>
[10:01:12]
NioProcessor-1 INFO  [] []
[org.apache.mina.filter.logging.LoggingFilter] - RECEIVED:
HeapBuffer[pos=0 lim=404 cap=2048: 00 00 01 90 AC ED 00 05 73 72 01 00
1F 6F 72 67...]<br>
[2010:04:91 10:04:60:exception] Uncaught exception on Server<br>
org.apache.mina.filter.codec.ProtocolDecoderException:
org.apache.mina.core.buffer.BufferDataException: <a target="_blank" href="http://java.io/">java.io</a>.EOFException
(Hexdump: 00 00 01 90 AC ED 00 05 73 72 01 00 1F 6F 72 67 2E 64 72 6F
6F 6C 73 2E 74 61 73 6B 2E 73 65 72 76 69 63 65 2E 43 6F 6D 6D 61 6E 64
78 70 00 00 00 00 73 72 01 00 13 6A 61 76 61 2E 75 74 69 6C 2E 41 72 72
61 79 4C 69 73 74 78 70 00 00 00 02 77 04 00 00 00 02 73 72 01 00 14 6F
72 67 2E 64 72 6F 6F 6C 73 2E 74 61 73 6B 2E 54 61 73 6B 78 70 77 D0 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00
05 65 6E 2D 55 4B 00 0A 45 76 61 6C 75 61 74 69 6F 6E 00 00 00 01 00 00
00 00 00 00 00 00 00 05 65 6E 2D 55 4B 00 0F 53 65 6C 66 20 45 76 61 6C
75 61 74 69 6F 6E 00 00 00 01 00 00 00 00 00 00 00 00 00 05 65 6E 2D 55
4B 00 0F 53 65 6C 66 20 45 76 61 6C 75 61 74 69 6F 6E 01 00 00 00 00 01
00 00 00 03 66 72 61 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0D 41
64 6D 69 6E 69 73 74 72 61 74 6F 72 00 00 00 00 00 01 01 00 07 43 72 65
61 74 65 64 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 01 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 78 70 78 7E 72 01 00 23 6F
72 67 2E 64 72 6F 6F 6C 73 2E 74 61 73 6B 2E 73 65 72 76 69 63 65 2E 43
6F 6D 6D 61 6E 64 4E 61 6D 65 78 72 01 00 0E 6A 61 76 61 2E 6C 61 6E 67
2E 45 6E 75 6D 78 70 74 00 0E 41 64 64 54 61 73 6B 52 65 71 75 65 73 74)<br>
    at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:180)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:49)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)<br>
    at
org.apache.mina.filter.logging.LoggingFilter.messageReceived(LoggingFilter.java:95)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:49)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:832)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain$HeadFilter.messageReceived(DefaultIoFilterChain.java:616)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:414)<br>
    at
org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:408)<br>
    at
org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:578)<br>
    at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:540)<br>
    at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:532)<br>
    at
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:58)<br>
    at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:857)<br>
    at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)<br>
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
Source)<br>
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
Source)<br>
    at java.lang.Thread.run(Unknown Source)<br>
Caused by: org.apache.mina.core.buffer.BufferDataException:
java.io.EOFException<br>
    at
org.apache.mina.core.buffer.AbstractIoBuffer.getObject(AbstractIoBuffer.java:1630)<br>
    at
org.apache.mina.filter.codec.serialization.ObjectSerializationDecoder.doDecode(ObjectSerializationDecoder.java:93)<br>
    at
org.apache.mina.filter.codec.CumulativeProtocolDecoder.decode(CumulativeProtocolDecoder.java:173)<br>
    at
org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:170)<br>
    ... 19 more<br>
Caused by: java.io.EOFException<br>
    at
java.io.ObjectInputStream$BlockDataInputStream.readBoolean(Unknown
Source)<br>
    at <a target="_blank" href="http://java.io.objectinputstream.re/">java.io</a>.ObjectInputStream.readBoolean(Unknown
Source)<br>
    at org.drools.task.Task.readExternal(Task.java:139)<br>
    at java.io.ObjectInputStream.readExternalData(Unknown Source)<br>
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)<br>
    at java.io.ObjectInputStream.readObject0(Unknown Source)<br>
    at java.io.ObjectInputStream.readObject(Unknown Source)<br>
    at java.util.ArrayList.readObject(Unknown Source)<br>
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br>
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br>
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br>
    at java.lang.reflect.Method.invoke(Unknown Source)<br>
    at <a target="_blank" href="http://java.io.objectstreamclass.in/">java.io</a>.ObjectStreamClass.invokeReadObject(Unknown
Source)<br>
    at java.io.ObjectInputStream.readSerialData(Unknown Source)<br>
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)<br>
    at java.io.ObjectInputStream.readObject0(Unknown Source)<br>
    at <a target="_blank" href="http://java.io.objectinputstream.de/">java.io</a>.ObjectInputStream.defaultReadFields(Unknown
Source)<br>
    at java.io.ObjectInputStream.readSerialData(Unknown Source)<br>
    at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)<br>
    at java.io.ObjectInputStream.readObject0(Unknown Source)<br>
    at java.io.ObjectInputStream.readObject(Unknown Source)<br>
    at
org.apache.mina.core.buffer.AbstractIoBuffer.getObject(AbstractIoBuffer.java:1628)<br>
    ... 22 more<br>
<br>
The Server Code is:<br>
<br>
import org.drools.SystemEventListenerFactory;<br>
import org.drools.task.Task;<br>
import org.drools.task.User;<br>
import org.drools.task.service.ContentData;<br>
import org.drools.task.service.MinaTaskServer;<br>
import org.drools.task.service.TaskService;<br>
import org.drools.task.service.TaskServiceSession;<br>
<br>
public class Server {<br>
    /**<br>
     * @param args<br>
     */<br>
    public static void main(String[] args) {<br>
        // TODO Auto-generated method stub<br>
        <br>
        EntityManagerFactory emf =
Persistence.createEntityManagerFactory(&quot;org.drools.task&quot;);<br>
        <br>
        TaskService taskService = new TaskService(emf,
SystemEventListenerFactory.getSystemEventListener());<br>
        <br>
        TaskServiceSession taskSession = taskService.createSession();<br>
        <br>
        //Ajouter user.<br>
        taskSession.addUser(new User(&quot;Mary&quot;));<br>
        taskSession.addUser(new User(&quot;John&quot;));<br>
        taskSession.addUser(new User(&quot;fra&quot;));<br>
        <br>
        MinaTaskServer server = new MinaTaskServer( taskService );<br>
        Thread thread = new Thread( server );<br>
        thread.start();        <br>
    }<br>
}<br>
<br>
<br>
And the Process part is: <br>
<br>
package com.sample;<br>
import java.util.HashMap;<br>
import java.util.Map;<br>
import org.drools.KnowledgeBase;<br>
import org.drools.KnowledgeBaseFactory;<br>
import org.drools.builder.KnowledgeBuilder;<br>
import org.drools.builder.KnowledgeBuilderError;<br>
import org.drools.builder.KnowledgeBuilderErrors;<br>
import org.drools.builder.KnowledgeBuilderFactory;<br>
import org.drools.builder.ResourceType;<br>
import <a target="_blank" href="http://org.drools.io.re/">org.drools.io</a>.ResourceFactory;<br>
import org.drools.logger.KnowledgeRuntimeLogger;<br>
import org.drools.logger.KnowledgeRuntimeLoggerFactory;<br>
import org.drools.process.workitem.wsht.WSHumanTaskHandler;<br>
import org.drools.runtime.StatefulKnowledgeSession;<br>
import org.drools.runtime.process.ProcessInstance;<br>
<br>
/**<br>
 * This is a sample file to launch a process.<br>
 */<br>
public class RuleFlowTest {<br>
<br>
    public static final void main(String[] args) {<br>
        try {<br>
            // load up the knowledge base<br>
            KnowledgeBase kbase = readKnowledgeBase();<br>
            StatefulKnowledgeSession ksession =
kbase.newStatefulKnowledgeSession();<br>
            KnowledgeRuntimeLogger logger =
KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, &quot;test&quot;);<br>
<br>
            //NEW<br>
           
ksession.getWorkItemManager().registerWorkItemHandler(&quot;Human Task&quot;, new
WSHumanTaskHandler());<br>
            Map&lt;String, Object&gt; params = new HashMap&lt;String,
Object&gt;();<br>
            params.put(&quot;employee&quot;,&quot;fra&quot;);<br>
<br>
            // end NEW<br>
            <br>
            // start a new process instance<br>
            ProcessInstance processInstance =
ksession.startProcess(&quot;com.sample.ruleflow&quot;,params); //modificat params<br>
            ksession.insert(processInstance);<br>
            <br>
            logger.close();<br>
            <br>
        } catch (Throwable t) {<br>
            t.printStackTrace();<br>
        }<br>
    }java.io.EOFException when trying Drools rulefow Evaluation example<br>
<br>
    private static KnowledgeBase readKnowledgeBase() throws Exception {<br>
        KnowledgeBuilder kbuilder =
KnowledgeBuilderFactory.newKnowledgeBuilder();<br>
       
kbuilder.add(ResourceFactory.newClassPathResource(&quot;ruleflow.rf&quot;),
ResourceType.DRF);<br>
        KnowledgeBuilderErrors errors = kbuilder.getErrors();<br>
        if (errors.size() &gt; 0) {<br>
            for (KnowledgeBuilderError error: errors) {<br>
                System.err.println(error);<br>
            }<br>
            throw new IllegalArgumentException(&quot;Could not parse
knowledge.&quot;);<br>
        }<br>
        KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();<br>
        kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());<br>
        return kbase;<br>
    }<br>
}<br>
<br>
Thankyou in advance a lot for you help.