SpringBoot配置

參考項目地址:https://gitee.com/xiaodaodao/urule-pro-boot

pom.xml

添加rule-console-pro配置:

<dependency>
    <groupId>com.bstek.urule</groupId>
    <artifactId>urule-console-pro</artifactId>
    <version>${urule-console-pro.version}</version>
</dependency>

上面的Maven配置中(zhōng),依賴的版本可(kě)以根據實際需要設置,實際使用(yòng)時可(kě)以到https://search.maven.org上查詢關鍵字“urule-console-pro”找到當前最新(xīn)的發行版本,這裏的pom.xml依賴信息改成對應的最新(xīn)的版本号即可(kě)。

添加對應的jdbc驅動配置,如mysql:

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>${mysql5.version}</version>
</dependency>

注冊URule相關Servlet

注冊com.bstek.urule.console.URuleServlet和com.bstek.urule.KnowledgePackageReceiverServlet。

例如可(kě)以在項目中(zhōng)添加一個URuleConfig類,大緻配置如下:

import org.springframework.boot.context.embedded.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.bstek.urule.KnowledgePackageReceiverServlet;
import com.bstek.urule.console.URuleServlet;

/**
 * URULE配置
 */
@Configuration
public class URuleConfig {
    @Bean
    public ServletRegistrationBean registerUruleServlet() {
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
                new URuleServlet(), "/urule/*");
        return servletRegistrationBean;
    }

    @Bean
    public ServletRegistrationBean registerKnowledgeServlet() {
        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
                new KnowledgePackageReceiverServlet(), "/knowledgepackagereceiver");
        return servletRegistrationBean;
    }
}

引入urule-console-context.xml文(wén)件

确保spring啓動的時候可(kě)以加載urule-console-pro-{version}.jar中(zhōng)classpath下的urule-console-context.xml文(wén)件。

參考代碼:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.ImportResource;

@Configuration
@EnableAutoConfiguration
@ComponentScan
@ImportResource("classpath:urule-console-context.xml")
public class SampleApplication {

    public static void main(String[] args) throws Exception {
        SpringApplication.run(SampleApplication.class, args);
    }

}

指定urule.home目錄

在resources目錄中(zhōng)新(xīn)增urule-init.properties配置文(wén)件,設置urule-home目錄,參考代碼:

urule.home=c:/app/urule/home

如果您希望通過urule提供的向導配置數據庫連接,則需要設定urule.home目錄的值,這樣向導自動創建的配置文(wén)件urule.properties文(wén)件就生成到urule.home目錄。利用(yòng)向導完成初始化參考:系統初始化

如果你想利用(yòng)spring配置文(wén)件配置urule數據庫的數據源,則要清空urule.home屬性的值,例如:

urule.home=

同時參考:系統初始化中(zhōng)的手動完成部分(fēn)實現數據庫的初始化工(gōng)作(zuò)。

一個技(jì )巧,你可(kě)以利用(yòng)向導初始化得倒urule.properties文(wén)件,然後将urule.properties的配置内容拷貝到spring對應的配置文(wén)件中(zhōng),最後清空urule.home的值

如果要支持Jar熱部署功能(néng),需要在spring的配置文(wén)件中(zhōng)添加屬性:

spring.main.allow-bean-definition-overriding=true

license添加方法

默認情況下将urule-license.txt拷貝到項目的src或resources根目錄下,确保最終這個文(wén)件編譯到classs目錄下就可(kě)以。 但是如果你不方便重新(xīn)編譯項目,如果是java -jar命令啓動服務(wù)的,則可(kě)以-Xbootclasspath/a參數指定license的目錄,例如如果我們把license文(wén)件放在/urule/classes目錄中(zhōng)。則啓動命令可(kě)以如下:

java -Xbootclasspath/a:/urule/classes -jar /urule/urule-pro-boot.jar

至于這個文(wén)件的獲取參考:18.産(chǎn)品注冊

results matching ""

    No results matching ""