2016-08-29 11 views
2

Kie workbench 6.3.0을 사용하여 규칙을 만듭니다. 스트림 모드에서 규칙을 실행하려고합니다. 나는 kie-wb에서 프로젝트를 만들고 거기에 kie-base를 만들었습니다. 우리는 이것을 위해 kie 서버 런타임을 사용하고 있습니다.생성자를 만들 수 없습니다 :: Kie Workbench

<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 파일입니다 : 이 생성 된 KMODULE 코드는

<?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> 

다음과 같은 오류

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] 

을 얻고있다 끼엔 WB에서 프로젝트를 배포하는 동안 이 오류를 해결하도록 도와주세요. 감사합니다.

답변

0

이 persistence.xml 파일은 com.sample : EventBusinessRules : 2.6 단위 용입니다.

<persistence-unit name="com.sample:EventBusinessRules:2.6" transaction-type="JTA"> 

배포하려고하는 단위는 com.sample : SampleBusinessRules : 2.7입니다. 첫 번째 단계로서 XML에서 이름을 변경해야한다고 생각합니다.

+0

답장을 보내 주셔서 감사합니다. 그것의 실수는 내가 여기에 게시하는 동안 클래스의 이름을 변경했다. 나는 그것을 어디에나 정확하게 바꿨다. Persistence.xml 파일은 자동으로 생성되므로 클래스 이름 오류가 없습니다. 이 오류를 해결하기 위해 마샬링 전략 태그를 제거하여 kie-deployment-descriptor.xml 파일을 변경했습니다. –

2

kie-deployment-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> 

이 태그는 에 있습니다. kie-deployment-descriptor.xml의 편집기에서 추가 된 행을 제거하십시오.

+0

이 변경의 영향은 무엇입니까? – izodev