Не может создать конструктор:: Kie Workbench
Я использую Kie Workbench 6.3.0 для создания правил. Я пытаюсь запустить правило в потоковом режиме. Я создал проект в kie-wb и создал в нем kie-base. Для этого мы используем среду выполнения сервера kie. Это код сгенерированного модуля:
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<kbase name="myKieBase" default="false" eventProcessingMode="stream" equalsBehavior="identity" packages="*"/>
</kmodule>
И следующий файл persistence.xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_2_0.xsd">
<persistence-unit name="com.sample:EventBusinessRules:2.6" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
<class>com.sample.EventData</class>
<exclude-unlisted-classes>true</exclude-unlisted-classes>
<properties>
<property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
<property name="hibernate.max_fetch_depth" value="3"/>
<property name="hibernate.hbm2ddl.auto" value="update"/>
<property name="hibernate.show_sql" value="false"/>
<property name="hibernate.id.new_generator_mappings" value="false"/>
<property name="hibernate.transaction.jta.platform" value="org.hibernate.service.jta.platform.internal.JBossAppServerJtaPlatform"/>
</properties>
</persistence-unit>
</persistence>
При развертывании проекта из Kie WB получаю следующую ошибку
Deployment of unit com.sample:SampleBusinessRules:2.7 failed: [Error: could not create constructor: null] [Near : {... new org.drools.persistence.jpa.mar ....}] ^ [Line: 1, Column: 5]
Пожалуйста, помогите мне решить эту ошибку. Спасибо
2 ответа
Я удалил тег маршаллинга из kie-deploy-descriptor.xml и не получил никакой ошибки при развертывании проекта.
<marshalling-strategy>
<resolver>mvel</resolver>
<identifier>new org.drools.persistence.jpa.marshaller.JPAPlaceholderResolverStrategy("com.sample.rules:EventBusinessRules:2.6", classLoader)</identifier>
<parameters/>
</marshalling-strategy>
Этот тег присутствует в <marshalling-strategies>
, Из редактора kie-deploy-descriptor.xml удалите добавленную строку.
Этот файл persistence.xml предназначен для модуля com.sample:EventBusinessRules:2.6.
<persistence-unit name="com.sample:EventBusinessRules:2.6" transaction-type="JTA">
Единицей, которую вы пытаетесь развернуть, является com.sample:SampleBusinessRules:2.7. В качестве первого шага, я думаю, вы должны попробовать изменить имя в xml.