activiti資料庫結構
❶ activiti內嵌的23張表可以存儲多少數據
Activiti 5.16.4 總共有24張表,增加act_evt_log(事件日誌),以及增加了對SasS的支持。 在流程定義、
❷ activiti資料庫版本比引擎更高怎麼辦
序號 技術組成 Activiti jBPM
1 資料庫持久層ORM MyBatis3 Hibernate3
2 持久化標准 無 JPA規范
3 事務管理 MyBatis機制/Spring事務控制 Bitronix,基於JTA事務管理
4 資料庫連接方式 Jdbc/DataSource Jdbc/DataSource
5 支持資料庫 Oracle、sql Server、MySQL等多數資料庫 Oracle、SQL Server、MySQL等多數資料庫
6 設計模式 Command模式、觀察者模式等
7 內部服務通訊 Service間通過API調用 基於Apache Mina非同步通訊
8 集成介面 SOAP、Mule、RESTful 消息通訊
9 支持的流程格式 BPMN2、xPDL、jPDL等 目前僅只支持BPMN2 xml
10 引擎核心 PVM(流程虛擬機) Drools
11 技術前身 jBPM3、jBPM4 Drools Flow
12 所屬公司 Alfresco jBoss.org
❸ activiti自身表與業務表分庫數據存放
1 基本思想之什麼是分庫分表?
從字面上簡單理解,就是把原本存儲於一個庫的數據分塊存儲到多個庫上,把原本存儲於一個表的數據分塊存儲到多個表上。
2 基本思想之為什麼要分庫分表?
資料庫中的數據量不一定是可控的,在未進行分庫分表的情況下,隨著時間和業務的發展,庫中的表會越來越多,表中的數據量也會越來越大,相應地,數據操作,增刪改查的開銷也會越來越大;另外,由於無法進行分布式式部署,而一台伺服器的資源(CPU、磁碟、內存、IO等)是有限的,最終資料庫所能承載的數據量、數據處理能力都將遭遇瓶頸。
❹ 如何讓Activiti-Explorer使用sql server資料庫
1)修改db.properties文件
路徑:C:\apache-tomcat-7.0.64\webapps\activiti-explorer\WEB-INF\classes\db.properties
內容如下:
db=mssql
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver://localhost:1433;databaseName=activiti
jdbc.username=sa
jdbc.password=xxxx
2)從微軟官網下載sql server的jdbc驅動;
只要在搜索引擎上搜索關鍵詞:sql server jdbc driver
下載sqlserver的jdbc驅動壓縮包:sqljdbc_4.0.2206.100_enu.tar.gz
然後將其中的sqljdbc4.jar 拷貝到Activiti-explorer的libs路徑:
C:\apache-tomcat-7.0.64\webapps\activiti-explorer\WEB-INF\lib
3)確認sql server的tcp/ip連接方式已經打開
使用 sql server configuration manager來打開該實例的TCP/IP連接,然後重啟sql server服務即可。
4)確認windows 防火牆已經關閉,或者已經把sql server的埠添加到特例中;
5)使用sql server manangement studio來驗證當前實例的TCP/IP方式是否已經開啟。
使用如下方式如果可以正常連接,那麼就說明sql server 的TCP/IP連接方式配置成功了
6)創建名為activiti的資料庫;
7)都ok之後,就啟動tomcat,可以正常啟動,並且可以訪問localhost:8080/activiti-explorer 連接
8)tomcat正常啟動之後, activiti-explorer會自動給activiti資料庫創建相關的表,並對表的內容做初始化。
❺ 如何將activiti的資料庫表導出
Activiti 引擎啟動時默認會檢測資料庫版本與程序版本是否相符,不相符就會拋出異常停止引擎的初始化。
這一策略可以通過引擎的初始化配置參數databaseSchemaUpdate來控制,
如下圖的spring創建流程引擎的配置文件:
<bean id="processEngineConfiguration" class="org.activiti.spring.">
<property name="dataSource" ref="dataSource" />
<property name="transactionManager" ref="TransactionManager" />
<!--
databaseSchemaUpdate:允許在流程引擎啟動和關閉時設置處理資料庫模式的策略。 �8�8
false(默認):創建流程引擎時檢查資料庫模式的版本是否與函數庫要求的匹配,如果版本不匹配就會拋出異常。
true:構建流程引擎時,執行檢查,如果有必要會更新資料庫模式。如果資料庫模式不存在,就創建一個。
create - 引擎啟動時創建表;
create-drop:創建流程引擎時創建資料庫模式,關閉流程引擎時刪除資料庫模式。
drop-create - 引擎啟動時先刪除表再重新創建表。
-->
<property name="databaseSchemaUpdate" value="true" />
<property name="jobExecutorActivate" value="false"/>
<property name="history" value="full"/>
<property name="processDefinitionCacheLimit" value="10"/>
<property name="databaseSchema" value="ITHOME"/>
</bean>
❻ activiti怎麼設置一下個節點的辦理人
1、首先maven導入基礎依賴包的配置。
注意事項:
Activiti將提供寬松的Apache許可2.0,以便這個項目可以廣泛被使用,同時促進Activiti BPM引擎和BPMN 2.0的匹配,該項目現正由OMG通過標准審定。
❼ Activiti6數據表結構
Acitiviti將全部的屬性抽象成為 key-value對,每個屬性都有的名稱和值,使用ACT_GE_PROPERTY來保存這些屬性,該表有以下3個欄位
REV_:數據版本,ACTIVITI為一些有可能會被頻繁修改的數據表,加入該欄位,用來表示該數據被操作的次數。
NAME_:資源名稱,類型VARCHAR,長度為225位元組
DEPLOYMENT_ID_:一次部署可以添加多個資源,該欄位與部署表ACT_RE_DEPLOYMENT的主鍵相關聯。
BYTES_:資源內容,數據類型為longblob,最大內存可存4GB
GENERATED_:是否由ACTIVITI自動產生的資源,0表示false,1為true
❽ 如何修改activiti資料庫
Activiti默認用的事H2資料庫,要想讓activiti使用獨立運行的H2或者其他資料庫,可以修改activiti explorer web應用的WEB-INF/CLASSES目錄下的db.properties
❾ 如何在web中使用activiti和sql server
一、按照如下方式新建一個web工程
之所以要用maven,主要是為了解決各種依賴項的問題,用maven來管理依賴項還是很方便的。
用Eclipse創建Maven結構的web項目的時候選擇了Artifact
Id為maven-artchetype-webapp,由於這個catalog比較老,用的servlet還是2.3的,而一般現在都是用3.0,在
Project Facets裡面修改Dynamic web mole為3.0的時候就會出現Cannot change version of
project facet Dynamic web mole to 3.0,如圖:
解決這個問題的步驟如下:
1. 把Servlet改成3.0,打開項目的web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="schele-console" version="3.0">
2. 修改項目的設置,在Navigator下打開項目.settings目錄下的org.eclipse.jdt.core.prefs
把1.5改成1.8
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.8
3. 打開org.eclipse.wst.common.project.facet.core.xml
把java改為1.8, 把jst.web改為3.0;
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="wst.jsdt.web"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.8"/>
</faceted-project>
二、解決報錯The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
可以使用如下步驟來解決。
1、右擊web工程-》屬性或Build Path-》Java Build Path->Libraries-> Add Libray...->Server Runtime -》Tomcat Server
2、切換到Java Build Path界面中的Orader and Export,選擇Tomcat。
三、修改項目的pom.xml文件,添加activiti相關依賴項
相關依賴項如下:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-engine</artifactId>
<version>${activiti-version}</version>
</dependency>
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring</artifactId>
<version>${activiti-version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.3</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.3.168</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-jdk14</artifactId>
<version>1.7.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
其中activiti-version的定義如下:
<properties>
<activiti-version>5.18.0</activiti-version>
</properties>
其實這些內容我都是從Activiti工程的pom文件中拷貝過來的。
四、添加activiti需要的配置文件
在activiti的userguide(http://activiti.org/userguide/index.html#_configuration )中有說。
如果我們使用如下語句來創建一個流程引擎實例
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine()
那麼實際上他是到該項目的classpath路徑下去找一個名為
activiti.cfg.xml的配置文件,然後根據該配置文件的設置,通過spring的方式來創建一個processEngine。而且是去找其中
的那個名字是default的processEngine。
所以我們可以在該項目的src/main/resources 目錄下創建一個名為 activiti.cfg.xml的文件,然後將如下內容復制進去。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.">
</bean>
</beans>
五、創建sql server資料庫
通過sql server management studio 創建一個資料庫,比如名字叫做 activiti
六、在maven中添加sql server jdbc依賴項
在maven倉庫中是沒有sql server 的jdbc jar包的,可以按照如下步驟操作
Download the JDBC driver for Microsoft SQL Server
Visit the MSDN site for SQL Server and download the latest version of the JDBC driver for your operating system.
Unzip the package
Open a command prompt and switch into the expanded directory where the jar file is located.
Execute the following command. Be sure to modify the jar file name and version as necessary:
1
mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar -DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0
You should see something similar to this:
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-install-plugin:2.3.1:install-file (default-cli) @ standalone-pom ---
[INFO] Installing /Users/claude/installers/JDBC/sqljdbc_4.0/enu/sqljdbc4.jar to /Users/claude/.m2/repository/com/microsoft/sqlserver/sqljdbc4/4.0/sqljdbc4-4.0.jar
[INFO] Installing /var/folders/c6//T/mvninstall1874482299687761721.pom to /Users/claude/.m2/repository/com/microsoft/sqlserver/sqljdbc4/4.0/sqljdbc4-4.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.208s
[INFO] Finished at: Tue Mar 13 14:07:31 EDT 2012
[INFO] Final Memory: 3M/81M
[INFO] ------------------------------------------------------------------------
Modify your POM
Include the new dependency by modifying your project』s pom.xml. Add the following dependency:
1
2
3
4
5
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>sqljdbc4</artifactId>
<version>4.0</version>
</dependency>
Save the pom.xml file and build the project to make sure no errors exist.
七、讓activiti連接sql server資料庫
修改第四節中的activiti.cfg.xml文件,將 processEngineConfiguration的內容改成下文這樣:
<bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.">
<property name="databaseSchemaUpdate" value="true"/>
<property name="jdbcUrl" value="jdbc:sqlserver://localhost:1433;databaseName=activiti2 " />
<property name="jdbcDriver" value="com.microsoft.sqlserver.jdbc.SQLServerDriver" />
<property name="jdbcUsername" value="sa" />
<property name="jdbcPassword" value="sa123" />
</bean>
八、在代碼中使用activiti的api
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
if(processEngine != null)
{
out.println("<h1> Hello !" + processEngine.getName() + "</h1>");
IdentityService identityService = processEngine.getIdentityService();
List<String> keys = identityService.getUserInfoKeys("Kermit");
for(String key: keys)
{
out.println(String.format("<h1> key = %s, value = %s </h1>", key, identityService.getUserInfo("Kermit", key)));
}
}
以上在調用 ProcessEngines.getDefaultProcessEngine(); 的時候,實際上背後就會去調用搜索classPath目錄下的activiti.cfg.xml文件,然後通過其中的配置來創建processEngine對象。
九、在eclipse中調試activiti項目
在eclipse中調試web項目,其實他是把相關的資料生成到如下路徑:
<eclipse workspace dir>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\MavenWeb
如果發現某項配置修改之後,調試的時候沒有生效,那可以試著clean一下, Project ->clean...,然後重新生成即可。
❿ activiti使用mysql資料庫問題
在打開的對話框中選擇Connections,把Allow remote connections to this server選上.
確保伺服器端的SQL服務的TCP/IP是Enable的.打開SQL Server Configuration Manager. 選擇SQL Server 2005 Network Configuration下的Protocols for SQL2005( 我安裝的SQL示例名為SQL2005), 把Named Pipes和TCP/IP都修改為Enabled,默認是Disabled.