Integrate feel-scala into Camunda Spring Boot Application

I am trying to use the feel-scala engine in my Camunda Spring Boot Application to use the contains feature in a DMN Table but can not get it to work.

Can anyone point me in the direction where I can register the process engine plugin in my configuration? Like mentioned in this Camunda blogpost?

I tried using it with just the maven dependency and a

@Bean
    public ProcessEnginePlugin feelScalaPlugin(){
        return new CamundaFeelEnginePlugin();
    }

but the engine just crashes as soon as it starts up.

I tried doing it with a @Configuration class as well but the same error.

***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
    org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope.setVariable(AbstractVariableScope.java:339)
The following method did not exist:
    'boolean org.camunda.bpm.engine.variable.value.TypedValue.isTransient()'
The method's class, org.camunda.bpm.engine.variable.value.TypedValue, is available from the following locations:
    jar:file:/home/username/.m2/repository/org/camunda/commons/camunda-commons-typed-values/1.4.0/camunda-commons-typed-values-1.4.0.jar!/org/camunda/bpm/engine/variable/value/TypedValue.class
It was loaded from the following location:
    file:/home/username/.m2/repository/org/camunda/commons/camunda-commons-typed-values/1.4.0/camunda-commons-typed-values-1.4.0.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of org.camunda.bpm.engine.variable.value.TypedValue

Maybe somebody is again able to help me, many thanks

In the hopes that it maybe helps somebody to point me into the right direction. By changing the version number of the feel scala extension my error changed to Failed to load service provider: CustomValueMapper

I also tried to add empty org.camunda.feel.integration.CamundaValueMapper and

org.camunda.feel.spi.CustomFunctionProvider to my /META-INF/services Folder but that changed nothing

I finally solved it, I was still missing dependencies in my pom.xml. If anyone ever has the same problem check that you have:

<dependencyManagement>
 <dependency>
            <groupId>org.camunda.spin</groupId>
            <artifactId>camunda-spin-bom</artifactId>
            <scope>import</scope>
            <type>pom</type>
            <version>1.7.4</version>
        </dependency>
   </dependencies>
</dependencyManagement>

    <dependency>
        <groupId>org.camunda.bpm.extension.feel.scala</groupId>
        <artifactId>feel-engine-plugin</artifactId>
        <version>1.9.0</version>
    </dependency>
    <dependency>
        <groupId>org.camunda.bpm.extension.feel.scala</groupId>
        <artifactId>feel-engine</artifactId>
        <version>1.9.0</version>
    </dependency>
    <dependency>
        <groupId>org.camunda.bpm.extension.feel.scala</groupId>
        <artifactId>feel-engine</artifactId>
        <version>1.9.0</version>
    </dependency>
    <dependency>
        <groupId>org.camunda.bpm</groupId>
        <artifactId>camunda-engine-plugin-spin</artifactId>
        <version>7.10.0</version>
    </dependency>

in your pom.xml File

Happy to hear that you found a way and shared your knowledge! :tada:

BTW: Since the FEEL-Scala version 1.10.0, the Camunda Spin dependency is not required anymore.