helloworld на Kie Server версии 6.4.0

В настоящее время я оцениваю KIE Server без использования KIE Workbench. Сценарий оцениваю,

1) Третья сторона предоставит файлу drl свой объект значения (VO, который будет использоваться внутри drl). Мне нужно создать kjar или jar программно через стандартную структуру проекта maven, а также создать контейнер для этого артефакта и сохранить его в репозитории maven.
2) Когда я получаю запрос на выполнение вместе с входными данными, против этого артефакта, черезREST вызов, мне нужно выполнить созданный выше контейнер с этими входными данными.

Я последовал примеруэтот а такжеэтот

сделать простой проект "HelloWorld".

pom.xml

<modelVersion>4.0.0</modelVersion>
<groupId>demo</groupId>
<artifactId>Hello</artifactId>
<version>1</version>
<packaging>kjar</packaging>

<dependencies>
    <dependency>
        <groupId>org.kie</groupId>
        <artifactId>kie-maven-plugin</artifactId>
        <version>6.4.0.Final</version>
    </dependency>
    <dependency>
        <groupId>org.apache.maven</groupId>
        <artifactId>maven-archiver</artifactId>
        <version>3.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.codehaus.plexus</groupId>
        <artifactId>plexus-archiver</artifactId>
        <version>3.4</version>
    </dependency>
</dependencies>


<build>
    <plugins>
        <plugin>
            <groupId>org.kie</groupId>
            <artifactId>kie-maven-plugin</artifactId>
            <version>6.4.0.Final</version>
            <extensions>true</extensions>
        </plugin>
    </plugins>
</build>

HelloWorld.java

package demo;

public class HelloWorld implements java.io.Serializable {

static final long serialVersionUID = 1L;

private java.lang.String message;

public HelloWorld()
{
}

public java.lang.String getMessage()
{
    return this.message;
}

public void setMessage(java.lang.String message)
{
    this.message = message;
}

public HelloWorld(java.lang.String message)
{
    this.message = message;
}

} 

HelloWorld.drl

package demo;

import demo.HelloWorld;

rule "hello"

when 
    HelloWorld(message == "Joe");
then
    System.out.println("Hello Joe!");
end

kmodule.xml

<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">

    <kbase name="demo" packages="demo">
        <ksession name="demo.session"/>
    </kbase>

</kmodule>

Используется простая структура проекта Maven:

Hello
 |
 |
 |--src
 |  |--- main
 |          |--java
 |          |   |---demo
 |          |         |
 |          |         |-- HelloWorld.java
 |          |
 |          |--resources
 |                  |
 |                  |--demo
 |                  |   |
 |                  |   |-- HelloWorld.drl
 |                  |
 |                  |--META-INF
 |                          |
 |                          |--kmodule.xml
 |
 |-- pom.xml

Я могу создать контейнер 'HelloworldContainer' для вышеупомянутой структуры maven proj сGroupId: demo, Artifact: Hello, version: 1

Но когда я пытаюсь выполнить его, как показано ниже, получаю URI внутренней ошибки сервера:HTTP: // локальный: 8080 / Кий-сервер / услуги / отдых / сервер / контейнеры / случаи / HelloworldContainer

Заголовки:

 Content-Type: application/xml,
    Authorization: Basic UWRtaWLkuTW5hZG1pbg==,
    X-KIE-ContentType: XSTREAM

Тело:

<batch-execution>
    <insert out-identifier="helloworld" return-object="true">
        <demo.HelloWorld>
            <message>Joe</message>
        </demo.HelloWorld> 
    </insert>
    <fire-all-rules/>
    </batch-execution>

Трассировка стека ошибок:

java.lang.IncompatibleClassChangeError: com.google.common.collect.Maps and com.google.common.collect.Maps$TransformedValuesMap disagree on InnerClasses attribute
java.lang.Class.getDeclaringClass0(Native Method)
java.lang.Class.getDeclaringClass(Class.java:1101)
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.&lt;init&gt;(ParameterizedTypeImpl.java:52)
sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl.make(ParameterizedTypeImpl.java:95)
sun.reflect.generics.factory.CoreReflectionFactory.makeParameterizedType(CoreReflectionFactory.java:105)
sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:140)
sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49)
sun.reflect.generics.repository.FieldRepository.getGenericType(FieldRepository.java:85)
java.lang.reflect.Field.getGenericType(Field.java:237)
com.thoughtworks.xstream.mapper.AnnotationMapper.processTypes(AnnotationMapper.java:212)
com.thoughtworks.xstream.mapper.AnnotationMapper.processAnnotations(AnnotationMapper.java:164)
com.thoughtworks.xstream.XStream.processAnnotations(XStream.java:1971)
com.thoughtworks.xstream.XStream.processAnnotations(XStream.java:1982)
org.kie.server.api.marshalling.xstream.XStreamMarshaller.&lt;init&gt;(XStreamMarshaller.java:86)
org.kie.server.api.marshalling.MarshallerFactory.getMarshaller(MarshallerFactory.java:37)
org.kie.server.services.impl.KieContainerInstanceImpl.getMarshaller(KieContainerInstanceImpl.java:111)
org.kie.server.services.drools.DroolsKieContainerCommandServiceImpl.callContainer(DroolsKieContainerCommandServiceImpl.java:59)
org.kie.server.remote.rest.drools.CommandResource.manageContainer(CommandResource.java:72)

Я могу успешно развернуть Kie Server 6.4.0 по ссылкеhttp://mswiderski.blogspot.in/2015/10/installing-kie-server-and-workbench-on.html

Сервер запускается нормально, за исключением этой проблемы «SEVERE».

org.kie.server.services.impl.KieServerImpl.<init> Error when initializing server extension of type jBPM KIE Server extension
java.lang.RuntimeException: Unable to create EntityManagerFactory due to [PersistenceUnit: org.jbpm.domain] Unable to build EntityManagerFactory
at       org.kie.server.services.jbpm.JbpmKieServerExtension.build(JbpmKieServerExtension.java:524)
at org.kie.server.services.jbpm.JbpmKieServerExtension.init(JbpmKieServerExtension.java:155)
at org.kie.server.services.impl.KieServerImpl.<init>(KieServerImpl.java:108)
at org.kie.server.services.impl.KieServerLocator.<clinit>(KieServerLocator.java:20)
at org.kie.server.services.Bootstrap.contextInitialized(Bootstrap.java:50)
at 
...
Caused by: javax.naming.NameNotFoundException: Name     [jboss/datasources/ExampleDS] is not bound in this Context. Unable to find     [jboss].
at org.apache.naming.NamingContext.lookup(NamingContext.java:816)
at org.apache.naming.NamingContext.lookup(NamingContext.java:159)
at org.apache.naming.SelectorContext.lookup(SelectorContext.java:140)
at javax.naming.InitialContext.lookup(InitialContext.java:415)
at org.hibernate.service.jndi.internal.JndiServiceImpl.locate(JndiServiceImpl.java:65)
... 33 more

и другие серии предупреждений, хотяorg.sonatype.guice доступно в моем м2 репо

26-Sep-2016 11:37:21.346 WARNING [localhost-startStop-1]     org.kie.server.services.drools.DroolsKieServerExtension.createContainer Unable     to create instance of type org.sonatype.guice.asm.MethodVisitor due to     org.sonatype.guice.asm.MethodVisitor
26-Sep-2016 11:37:21.352 WARNING [localhost-startStop-1]     org.kie.server.services.drools.DroolsKieServerExtension.createContainer Unable     to create instance of type org.sonatype.guice.asm.FieldVisitor due to     org.sonatype.guice.asm.FieldVisitor
26-Sep-2016 11:37:21.357 WARNING [localhost-startStop-1]     org.kie.server.services.drools.DroolsKieServerExtension.createContainer Unable     to create instance of type org.sonatype.guice.asm.Type due to     org.sonatype.guice.asm.Type
26-Sep-2016 11:37:21.363 WARNING [localhost-startStop-1]     org.kie.server.services.drools.DroolsKieServerExtension.createContainer Unable     to create instance of type org.sonatype.guice.asm.ClassWriter due to     org.sonatype.guice.asm.ClassWriter
26-Sep-2016 11:37:21.368 WARNING [localhost-startStop-1]     org.kie.server.services.drools.DroolsKieServerExtension.createContainer Unable     to create instance of type org.sonatype.guice.asm.Edge due to     org.sonatype.guice.asm.Edge

Ответы на вопрос(0)

Ваш ответ на вопрос