简体   繁体   English

无法加载流口水kie:ksession bean

[英]unable to load drools kie:ksession bean

I am using Drools 6.2.0 with spring integration. 我正在使用带有弹簧集成的Drools 6.2.0。 spring-context.xml file is below : spring-context.xml文件如下:

 <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:kie="http://drools.org/schema/kie-spring"
        xsi:schemaLocation="http://drools.org/schema/kie-spring http://drools.org/schema/kie-spring.xsd
           http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

       <kie:kmodule id="poc-module">
            <kie:kbase name="kbase" packages="com.sample">
                <kie:ksession name="droolsSession">
                    <kie:consoleLogger />
                </kie:ksession>
            </kie:kbase>
        </kie:kmodule>
        <bean id="kiePostProcessor" class="org.kie.spring.KModuleBeanFactoryPostProcessor"/>    
        <bean id="ruleRunner" class="com.sample.RuleRunner"/>
    </beans>

Then I am getting below spring bean initialisation error when deploying the application. 然后我在部署应用程序时遇到了Spring bean初始化错误。

[ERROR   ] Uncaught.init.exception.thrown.by.servlet mvc-dispatcher  springexample
org.springframework.beans.factory.BeanCreationException: 
  Error creating bean with name 'droolsSession': 
  Cannot resolve reference to bean 'kbase' while setting bean property 'kBase';
nested exception is org.springframework.beans.factory.BeanCreationException:
  Error creating bean with name 'kbase':
  Invocation of init method failed;
nested exception is java.lang.IllegalArgumentException:
  Unable to retrieve contents of directory 'C:\Documents and Settings'.
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:334)
        at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1419)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1160)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:290)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:191)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:618)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
        at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:651)
        at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:602)
        at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:665)
        at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:521)
        at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:462)
        at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
        at javax.servlet.GenericServlet.init(GenericServlet.java:161)
        at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:325)
        at [internal classes] 

It seems that drools kbase bean packages is trying to access root "/". 似乎drools kbase bean软件包正在尝试访问根目录“ /”。 Please suggest is any configuration I am missing in drools 6.2.0 Spring integration. 请提出在Drools 6.2.0 Spring集成中缺少的任何配置。

Backslash character is the escape character in Java. 反斜杠字符是Java中的转义字符。 To use it "as is", you have to double it: "\\\\". 要按原样使用它,您必须将它加倍:“ \\\\”。

If you pay attention, you will see that the path is not complete. 如果您注意,则会发现路径不完整。 It is probably trying to infer some default path. 它可能正在尝试推断一些默认路径。

Try to provide it explicitly. 尝试明确提供它。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM