2014-02-06 3 views
0

Drools KIE-WB를 MYSQL (Tomcat)에 성공적으로 설치했으며 dashbuilder와 동일한 목표를 달성하고자합니다.Drools Dashbuilder MySQL을 설치하는 방법?

내 dashbuilder 패키지는 jbpm-dashbuilder-6.1.0-SNAPSHOT-tomcat-7입니다. tomcat-7.0.50\webapps\dashbuilder\WEB-INF\etc\sql\1-create-mysql.sql에서 파일을 실행

:

첫 번째 테스트 옵션은 다음과 같습니다 그리고 두 개의 서로 다른 옵션을 테스트했습니다.

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'dashboarddb.processinstancelog' doesn't exist 

두 번째 테스트 옵션은 다음과 같습니다 :

변경 tomcat-7.0.50\webapps\dashbuilder\META-INF\context.xml 다음 데이터 소스

을 가지고 서버를 시작할 때이 오류가 나타납니다 때문에, 일부 테이블을 생성하지만 뭔가 놓친 것 같다
<Resource name="jdbc/jbpm" auth="Container" 
    type="javax.sql.DataSource" username="drools-user" password="pass"   driverClassName="com.mysql.jdbc.Driver" 
    url="jdbc:mysql://localhost:3306/dashboarddb?useUnicode=true&amp;characterEncoding=UTF8" 
    maxActive="8" 
    /> 

그리고 tomcat-7.0.50\webapps\dashbuilder\WEB-INF\etc\hibernate.cfg.xml에서 나는 다음 라인을 추가 한 :

Hibernate가 MySQL에서 모든 테이블을 생성하도록 강요하는 것. 이 거의 작품은 (여러 테이블을 만들 수)하지만 오류가 나타납니다

com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '1-title-Dashboards Showcase' for key 'PRIMARY' 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    ... 

그리고 (나는 Hibernate가 일을하고 만드는 무엇에 대한 정보가 없기 때문에) 나는 그것을 해결하는 방법을 모른다.

MySQL을 사용하여 대시 보드를 설치하는 방법에 대한 아이디어가 없습니다. 그것을 달성하는 방법에 대한 단서?

답변

1

jBPM 대시 보드가 jBPM 기록 로그 (자세한 내용은 여기 https://github.com/droolsjbpm/jbpm-dashboard/tree/master/jbpm-dashboard-distributions/src/main/tomcat7)에서 피드하므로 두 개의 webapps (Kie-wb 및 jBPM 대시 보드)는 동일한 데이터베이스를 공유해야합니다.

그래서 주어진 데이터 소스에 대해 kie-wb를 배포하고 실행해야합니다. 이름을 "kie-wb"라고 명명했습니다. kie-wb가 실행되면 (DB에서 작성된 테이블) jbpm-dashboard를 배포 할 수 있습니다.이 jbpm-dashboard는 동일한 "kie-wb"데이터 소스에 연결되도록 구성해야합니다.

프로덕션 환경에서는 권장되지 않으므로 auto ddl 업데이트를 사용하지 마십시오. 앱에 앞서 create-mysql.sql 스크립트를 실행할 수도 있습니다. 배포 또는 시작시 응용 프로그램을 실행하게합니다 (자동 실행 스크립트는 필수 테이블을 감지하지 못하면 실제로 응용 프로그램 자체에서 수행합니다).

위 단계를 수행하면 모든 것이 올바르게 작동해야합니다. 그렇지 않으면 다시 묻기를 망설이지 마십시오.

+0

데이터베이스를 공유해야한다는 점에 대해 감사드립니다. 나는 당신의 제안을 시험 할 것이다. – JorgeHortelano

+0

감사합니다.이 해결책입니다. 나는 여전히 몇 가지 문제를 해결할 필요가 있지만 올바른 방법으로 보인다. – JorgeHortelano

관련 문제