使用Drools 6.0进行部署
KieScanner
6.0 KieScanner取代了5.x KnowledgeAgent。 它使用嵌入式Maven允許在運行時解析和檢索jar。 6.0應用程序現在可以輕松支持依賴關系和可傳遞依賴關系; 使用眾所周知的Maven語義進行版本控制。 它允許在類路徑上進行部署,也可以在運行時動態進行部署。 目前它支持手動“ scanNow”和間隔輪詢,將來會添加遠程處理。 可以按照以下示例在KieContainer上注冊KieScanner:
在此示例中,將KieScanner配置為以固定的時間間隔運行,但也可以通過在其上調用scanNow()方法來按需運行它。 如果KieScanner在Maven存儲庫中找到該KieContainer使用的Kie項目的更新版本,它將自動下載新版本并觸發新項目的增量構建。 從這一刻起,從該KieContainer創建的所有新KieBases和KieSessions將使用新的項目版本。
安裝
部署方式
Settings.xml和遠程存儲庫設置
maven settings.xml用于配置Maven執行。 可以在Maven網站上找到詳細說明:http://maven.apache.org/settings.html settings.xml文件可以位于3個位置,實際使用的設置是這3個位置的合并。
- Maven安裝:$ M2_HOME / conf / settings.xml
- 用戶的安裝:$ {user.home} /。m2 / settings.xml
- 系統屬性kie.maven.settings.custom指定的文件夾位置
settings.xml用于指定遠程存儲庫的位置。 激活指定遠程存儲庫的配置文件非常重要,通常可以使用“ activeByDefault”完成此操作:
<profiles><profile><id>profile-1</id><activation><activeByDefault>true</activeByDefault></activation>...</profile> </profiles>Maven版本和依賴關系 Maven支持多種機制來管理應用程序中的版本控制和依賴關系。 可以使用特定的版本號發布模塊,也可以使用SNAPSHOT后綴。 依賴項可以指定要使用的版本范圍,也可以利用SNAPSHOT機制。
StackOverflow為此提供了一個很好的描述,下面轉載。
- http://stackoverflow.com/questions/30571/how-do-i-tell-maven-to-use-the-latest-version-of-a-dependency
如果您始終想使用最新版本,則Maven有兩個關鍵字可以用作版本范圍的替代。 您應該謹慎使用這些選項,因為您將不再控制所使用的插件/依賴項。
當您依賴插件或依賴項時,可以使用LATEST或RELEASE的版本值。 LATEST是指特定工件的最新發行版本或快照版本,是特定存儲庫中最新部署的工件。 RELEASE是指存儲庫中的最后一個非快照版本。 通常,設計依賴工件非特定版本的軟件并不是最佳實踐。 如果您正在開發軟件,則可能希望使用RELEASE或LATEST作為便利,以便在發行新版本的第三方庫時不必更新版本號。 發布軟件時,應始終確保項目依賴于特定版本,以減少構建或項目受不受您控制的軟件版本影響的機會。 謹慎使用LATEST和RELEASE。
有關更多詳細信息,請參見Maven書籍的POM語法部分。
- http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-pom-syntax.html
- http://books.sonatype.com/mvnref-book/reference/pom-relationships-sect-project-dependencies.html
這是說明各種選項的示例。 在Maven存儲庫中,com.foo:my-foo具有以下元數據:
<metadata><groupId>com.foo</groupId><artifactId>my-foo</artifactId><version>2.0.0</version><versioning><release>1.1.1</release><versions><version>1.0</version><version>1.0.1</version><version>1.1</version><version>1.1.1</version><version>2.0.0</version></versions><lastUpdated>20090722140000</lastUpdated></versioning> </metadata>如果需要依賴該工件,則可以使用以下選項(當然可以指定其他版本范圍,只在此處顯示相關的版本):聲明一個確切的版本(將始終解析為1.0.1):
<version>[1.0.1]</version>聲明一個明確的版本(除非發生沖突,否則當Maven選擇一個匹配的版本時,它將始終解析為1.0.1):
<version>1.0.1</version>聲明所有1.x的版本范圍(當前將解析為1.1.1):
<version>[1.0.0,2.0.0)</version>聲明一個開放式版本范圍(將解析為2.0.0):
<version>[1.0.0,)</version>將版本聲明為最新(將解析為2.0.0):
<version>LATEST</version>將版本聲明為RELEASE(將解析為1.1.1):
<version>RELEASE</version> 請注意,默認情況下,您自己的部署將更新Maven元數據中的“最新”條目,但是要更新“發布”條目,則需要從Maven超級POM激活“發布配置文件”。 您可以使用“ -Prelease-profile”或“ -DperformRelease = true”來執行此操作
翻譯自: https://www.javacodegeeks.com/2014/01/deployment-with-drools-6-0.html
總結
以上是生活随笔為你收集整理的使用Drools 6.0进行部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JBoss Fuse 6.1 + Haw
- 下一篇: G1 vs CMS vs平行GC