2016-06-15 2 views
0

私はこれがuserTasktaskListenerで、私のワークフローで短いスクリプトを実行しようとしている:activitiでスクリプトエンジンをアクティブにする方法は?

<activiti:taskListener event="create" class="org.activiti.engine.impl.bpmn.listener.ScriptTaskListener" > 
    <activiti:field name="script" stringValue="${state='CREATED'}"> 
    </activiti:field> 
    <activiti:field name="language" stringValue="JavaScript" /> 
</activiti:taskListener> 

私の環境では、しかし、スクリプトエンジンが欠落しているようだ、これは私が取得エラーです:

org.activiti.engine.ActivitiException: Can't find scripting engine for 'JavaScript' 
    at org.activiti.engine.impl.scripting.ScriptingEngines.getEngineByName(ScriptingEngines.java:124) 
    at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:85) 
    at org.activiti.engine.impl.scripting.ScriptingEngines.evaluate(ScriptingEngines.java:73) 
    at org.activiti.engine.impl.bpmn.listener.ScriptTaskListener.notify(ScriptTaskListener.java:43) 
    at org.activiti.engine.impl.delegate.TaskListenerInvocation.invoke(TaskListenerInvocation.java:34) 
    at org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37) 
    at org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25) 
    at org.activiti.engine.impl.bpmn.helper.ClassDelegate.notify(ClassDelegate.java:121) 
    ... 192 common frames omitted 

デフォルトエンジンjuelを使用すると、同じ例外がスローされます。

  • activiti-BPMNコンバータ-5.21.0.jar
  • activiti-BPMN-モデル5.21.0.jar

  • Activitiは、次のバンドルを使用して、OSGiの/春環境で実行されています
  • activiti-CXF-5.21.0.jar
  • activiti-エンジン5.21.0.jar
  • activiti像発電5.21.0.jar
  • activitiプロセス検証-5.21.0.jar
  • activiti-spring-5.21.0.jar

多分バンドルがありませんか?

これは、春のプロセスエンジンの設定です:

<bean id="processEngineConfiguration" class="org.activiti.spring.SpringProcessEngineConfiguration"> 
    <property name="dataSource" ref="dataSource" /> 
    <property name="transactionManager" ref="transactionManager" /> 
    <property name="databaseSchemaUpdate" value="true" /> 
    <property name="jobExecutorActivate" value="true" /> 
    <property name="history" value="full" /> 
</bean> 

私は別のプロパティscriptingEnginesを追加する必要があるかもしれませんが、私はvalueとして設定する何がありますか?私の環境では、ScriptingEnginesを拡張するクラスはありません。

環境:
のJava:jdk1.8.0_92 64ビット
春:4.2.5
Activiti:5.21.0

+0

あなたのJavaのバージョンは何ですか? – borras

+0

ポストに環境を追加しました –

+0

私はJava 8用の新しいNashron javscriptエンジン(http://www.jorambarrez.be/blog/2014/04/24/running-activiti-on-jdk8/)のための多くのソリューションを読んでいます。とにかく私はjavascriptの代わりにgroovyを使って解決しました – borras

答えて

0

は私が解決策を見つけました。

スプリングプロセスエンジンの設定があるバンドルにファイルMETA-INF/javax.script.ScriptEngineFactory を作成します。

次の行は、juelスクリプトを有効にします:

org.activiti.engine.impl.scripting.JuelScriptEngineFactory 
関連する問題