Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

While Sample (05) with MongoDB persistence data binding issue #13

Open
nikos opened this issue Jan 31, 2021 · 1 comment
Open

While Sample (05) with MongoDB persistence data binding issue #13

nikos opened this issue Jan 31, 2021 · 1 comment

Comments

@nikos
Copy link

nikos commented Jan 31, 2021

When trying to run Sample 05 from current master branch with MongoDB persistence
Added in Line 18 of Main class
module.usePersistence(MongoPersistenceService.configure("mongodb://localhost:27017/jworkflow"));
I get the following exception:

java.lang.ClassCastException: class java.util.LinkedHashMap cannot be cast to class net.jworkflow.kernel.models.ExecutionPointer (java.util.LinkedHashMap is in module java.base of loader 'bootstrap'; net.jworkflow.kernel.models.ExecutionPointer is in unnamed module of loader 'app')
	at java.base/java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
	at java.base/java.util.ArrayList$ArrayListSpliterator.tryAdvance(ArrayList.java:1602)
	at java.base/java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:127)
	at java.base/java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:502)
	at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:488)
	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
	at java.base/java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
	at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.base/java.util.stream.ReferencePipeline.allMatch(ReferencePipeline.java:533)
	at net.jworkflow.kernel.models.WorkflowInstance.isBranchComplete(WorkflowInstance.java:113)
	at net.jworkflow.primitives.While.run(While.java:34)
	at net.jworkflow.kernel.services.DefaultWorkflowExecutor.execute(DefaultWorkflowExecutor.java:80)
	at net.jworkflow.kernel.services.WorkflowWorker.executeItem(WorkflowWorker.java:45)
	at net.jworkflow.kernel.services.QueueWorker.run(QueueWorker.java:41)
	at net.jworkflow.kernel.services.QueueWorker.lambda$start$0(QueueWorker.java:53)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:630)
	at java.base/java.lang.Thread.run(Thread.java:832)

Do I need to specify additional Jackson "hints" do get the marshalling working with MongoDB?
Thanks in advance.

@nikos
Copy link
Author

nikos commented Feb 2, 2021

After further debugging, it seems like this is a mapping issue of Spring Data MongoDB and in newer versions the MongoDB representation as Map cannot be converted anymore to net.jworkflow.kernel.models.ExecutionPointer. If turning back the dependencies to version 1.10.6 (from 1.10.7 on the above exception happens):

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <version>1.10.6.RELEASE</version>
        </dependency>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant