[jbpm-commits] JBoss JBPM SVN: r5591 - in jbpm4/trunk: modules/distro/src/main/files/install and 7 other directories.
do-not-reply at jboss.org
do-not-reply at jboss.org
Sun Aug 30 06:38:09 EDT 2009
Author: tom.baeyens at jboss.com
Date: 2009-08-30 06:38:08 -0400 (Sun, 30 Aug 2009)
New Revision: 5591
Removed:
jbpm4/trunk/modules/test-cactus/src/test/java/org/jbpm/test/AllIntegrationTests.java
Modified:
jbpm4/trunk/modules/distro/src/main/files/examples/build.xml
jbpm4/trunk/modules/distro/src/main/files/install/build.xml
jbpm4/trunk/modules/distro/src/main/files/install/src/jboss/config.jboss5/deploy/jbpm/jbpm-service.sar/jbpm-service-jboss-beans.xml
jbpm4/trunk/modules/distro/src/main/files/install/src/jboss/datasources/jbpm-hsqldb-ds.xml
jbpm4/trunk/modules/integration/spi/src/main/java/org/jbpm/integration/spi/JBPMService.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/AcquireJobsCmd.java
jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/DispatcherThread.java
jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml
jbpm4/trunk/qa/build.xml
Log:
fixed job executor exceptions during startup of jboss
Modified: jbpm4/trunk/modules/distro/src/main/files/examples/build.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/files/examples/build.xml 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/distro/src/main/files/examples/build.xml 2009-08-30 10:38:08 UTC (rev 5591)
@@ -43,7 +43,7 @@
<copy file="${jbpm.home}/install/src/cfg/hibernate/jdbc/${database}.hibernate.cfg.xml"
tofile="${jbpm.home}/examples/target/classes/jbpm.hibernate.cfg.xml"
overwrite="true">
- <filterset filtersfile="${jbpm.home}/install/src/jdbc/${database}.properties" />
+ <filterset filtersfile="${jbpm.home}/install/jdbc/${database}.properties" />
</copy>
<jar destfile="${jbpm.home}/examples/target/examples.bar">
<fileset dir="${jbpm.home}/examples/src">
Modified: jbpm4/trunk/modules/distro/src/main/files/install/build.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/files/install/build.xml 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/distro/src/main/files/install/build.xml 2009-08-30 10:38:08 UTC (rev 5591)
@@ -6,11 +6,11 @@
<property file="${user.home}/.jbpm4/build.properties" />
<!-- USER CUSTOMIZABLE PROPERTIES -->
- <property name="database" value="hsqldb" /> <!-- hsqldb | mysql | oracle | postgresql} -->
+ <property name="database" value="hsqldb" /> <!-- {hsqldb | mysql | oracle | postgresql} -->
<echo message="database......... ${database}" />
- <property name="tx" value="standalone" /> <!-- standalone | jta | spring} -->
+ <property name="tx" value="standalone" /> <!-- {standalone | jta | spring} -->
<echo message="tx............... ${tx}" />
- <property name="mail.smtp.host" value="localhost" />
+ <property name="mail.smtp.host" value="localhost" />
<echo message="mail.smtp.host... ${mail.smtp.host}" />
<!-- INTERNAL PROPERTY DEFAULTS -->
@@ -24,10 +24,10 @@
<property name="mail.cfg" value="default" />
<property name="jdbc.properties.dir" value="${jbpm.home}/install/jdbc" />
- <property file="${jdbc.properties.dir}/${database}.properties" />
-
- <property name="examples.file" value="${jbpm.home}/examples/target/examples.jar"/>
+ <property file="${jdbc.properties.dir}/${database}.properties" />
+ <property name="examples.file" value="${jbpm.home}/examples/target/examples.jar"/>
+
<property name="tomcat.version" value="6.0.20" />
<property name="tomcat.parent.dir" value="${jbpm.home}" />
<property name="tomcat.home" value="${tomcat.parent.dir}/apache-tomcat-${tomcat.version}" />
@@ -35,9 +35,9 @@
<property name="tomcat.distro.dir" value="downloads" />
<property name="tomcat.distro.url" value="http://www.apache.org/dist/tomcat/tomcat-6/v${tomcat.version}/bin/${tomcat.filename}" />
<property name="tomcat.distro.path" value="${tomcat.distro.dir}/${tomcat.filename}" />
- <property name="tomcat.lib.dir" value="${tomcat.home}/lib" />
- <property name="tomcat.webapps.dir" value="${tomcat.home}/webapps" />
-
+ <property name="tomcat.lib.dir" value="${tomcat.home}/lib" />
+ <property name="tomcat.webapps.dir" value="${tomcat.home}/webapps" />
+
<property name="hsqldb.server.install.dir" value="${jbpm.home}/hsqldb-server"/>
<property name="hsqldb.server.source.dir" value="${jbpm.home}/install/src/hsqldb-server" />
@@ -51,16 +51,16 @@
<property name="jboss.server.configuration" value="default" />
<property name="jboss.server.config.dir" value="${jboss.home}/server/${jboss.server.configuration}" />
<property name="jboss.server.data.dir" value="${jboss.home}/server/${jboss.server.configuration}/data" />
- <property name="jboss.server.deploy.dir" value="${jboss.home}/server/${jboss.server.configuration}/deploy" />
+ <property name="jboss.server.deploy.dir" value="${jboss.home}/server/${jboss.server.configuration}/deploy" />
- <property name="signavio.war.file.name" value="jbpmeditor.war" />
- <property name="signavio.src.dir" value="${jbpm.home}/install/src/signavio" />
- <property name="signavio.repo.dir.name" value="signavio-repository" />
- <property name="signavio.repo.dir" value="${jbpm.home}/${signavio.repo.dir.name}"/>
-
- <dirname property="current.dir" file="../jbpm.jar" />
- <echo message="current dir = ${current.dir}" />
-
+ <property name="signavio.war.file.name" value="jbpmeditor.war" />
+ <property name="signavio.src.dir" value="${jbpm.home}/install/src/signavio" />
+ <property name="signavio.repo.dir.name" value="signavio-repository" />
+ <property name="signavio.repo.dir" value="${jbpm.home}/${signavio.repo.dir.name}"/>
+
+ <dirname property="current.dir" file="../jbpm.jar" />
+ <echo message="current dir = ${current.dir}" />
+
<!-- GENERAL CONDITIONS -->
<condition property="is.jboss.distro.available">
<available file="${jboss.distro.path}" />
@@ -74,7 +74,10 @@
<os family="mac" />
</or>
</condition>
-
+ <condition property="hsqldb.needed">
+ <equals arg1="${database}" arg2="hsqldb" />
+ </condition>
+
<!-- OS CONDITIONS -->
<condition property="isWindows">
<os family="windows"/>
@@ -85,7 +88,7 @@
</not>
</condition>
- <condition property="is.jboss.500">
+ <condition property="is.jboss.500">
<equals arg1="${jboss.version}" arg2="5.0.0.GA"/>
</condition>
@@ -142,25 +145,27 @@
description="installs jboss, installs jbpm into jboss, starts jboss, creates the jBPM DB schema, deploys examples, loads example identities, installs and starts eclipse">
<antcall target="internal.enable.jboss.debug.jboss500" />
<antcall target="internal.enable.jboss.debug.jboss510" />
+ <antcall target="internal.install.and.start.hsqldb.if.needed" />
+ <antcall target="create.jbpm.schema" />
<antcall target="start.jboss" />
- <antcall target="create.jbpm.schema" />
<antcall target="install.examples.into.jboss" />
<antcall target="load.example.identities" />
<antcall target="install.eclipse" />
<antcall target="start.eclipse" />
</target>
+ <!-- ### DEMO TEARDOWN JBOSS ##################################################### -->
<target name="demo.teardown.jboss"
description="drops the jbpm db schema and stops jboss">
<ant antfile="${jbpm.home}/db/build.xml" target="drop.jbpm.schema" />
<antcall target="stop.jboss" />
</target>
-
+
<!-- ### CLEAN CONFIGURATION DIR ########################################### -->
<target name="clean.cfg.dir" description="Deletes the ${cfg.dest.dir}">
<delete dir="${cfg.dest.dir}" />
</target>
-
+
<!-- ### CREATE CONFIGURATION ########################################### -->
<target name="create.cfg" description="Creates a configuration in ${cfg.dest.dir}">
<mkdir dir="${cfg.dest.dir}" />
@@ -169,16 +174,16 @@
overwrite="true" />
<copy tofile="${cfg.dest.dir}/jbpm.hibernate.cfg.xml"
file="${install.src.dir}/cfg/hibernate/${hibernate.connection.type}/${database}.hibernate.cfg.xml"
- overwrite="true">
+ overwrite="true">
<filterset filtersfile="${jdbc.properties.dir}/${database}.properties" />
</copy>
<copy todir="${cfg.dest.dir}"
- overwrite="true">
+ overwrite="true">
<fileset dir="${install.src.dir}/cfg/logging/${logging}" />
</copy>
<copy tofile="${cfg.dest.dir}/jbpm.mail.properties"
file="${install.src.dir}/cfg/mail/jbpm.mail.${mail.cfg}.properties"
- overwrite="true">
+ overwrite="true">
<filterset>
<filter token="mail.smtp.host" value="${mail.smtp.host}" />
</filterset>
@@ -291,11 +296,11 @@
<include name="gwt-console-rpc.jar" />
</fileset>
</copy>
-
- <!-- Copy Signavio war into /webapps
- commented cause it doesn't seem to run on jdk 5
- <antcall target="install.signavio.into.jboss" />
- -->
+
+ <!-- Copy Signavio war into /webapps
+ commented cause it doesn't seem to run on jdk 5
+ <antcall target="install.signavio.into.jboss" />
+ -->
<copy todir="${jboss.server.config.dir}/deploy/jbpm" overwrite="true">
<fileset dir="${jbpm.home}/lib">
@@ -352,15 +357,15 @@
<property name="container.lib.dir" value="${jboss.server.config.dir}/deploy/jbpm/jbpm-service.sar" />
<antcall target="internal.copy.database.driver" />
</target>
-
- <!-- ### INSTALL EXAMPLES INTO JBOSS ################################################ -->
- <target name="install.examples.into.jboss">
- <ant antfile="${jbpm.home}/examples/build.xml" target="create.and.deploy.examples" />
- <mkdir dir="${jboss.server.config.dir}/deploy/jbpm/userlibs" />
- <copy file="${examples.file}"
- todir="${jboss.server.config.dir}/deploy/jbpm/userlibs"
- overwrite="true" />
- </target>
+
+ <!-- ### INSTALL EXAMPLES INTO JBOSS ################################################ -->
+ <target name="install.examples.into.jboss">
+ <ant antfile="${jbpm.home}/examples/build.xml" target="create.and.deploy.examples" />
+ <mkdir dir="${jboss.server.config.dir}/deploy/jbpm/userlibs" />
+ <copy file="${examples.file}"
+ todir="${jboss.server.config.dir}/deploy/jbpm/userlibs"
+ overwrite="true" />
+ </target>
<!-- ### START JBOSS ################################################### -->
<target name="start.jboss"
@@ -386,24 +391,26 @@
<arg line="-S"/>
</exec>
</target>
-
- <!-- ### TOMCAT DEMO SETUP ################################################ -->
- <target name="demo.setup.tomcat"
- depends="delete.tomcat, install.tomcat, install.jbpm.into.tomcat"
- description="installs tomcat, installs jbpm into tomcat, starts tomcat, creates the jBPM DB schema, deploys examples, loads example identities, installs and starts eclipse">
-
- <condition property="hsqldb.needed">
- <equals arg1="${database}" arg2="hsqldb" />
- </condition>
- <antcall target="internal.install.and.start.hqsldb.if.needed" />
- <antcall target="create.jbpm.schema" />
- <antcall target="install.examples.into.tomcat" />
- <antcall target="install.example.identities.into.tomcat" />
- <antcall target="start.tomcat" />
- <antcall target="install.eclipse" />
- <antcall target="start.eclipse" />
- </target>
+
+ <!-- ### DEMO SETUP TOMCAT ################################################ -->
+ <target name="demo.setup.tomcat"
+ depends="delete.tomcat, install.tomcat, install.jbpm.into.tomcat"
+ description="installs tomcat, installs jbpm into tomcat, starts tomcat, creates the jBPM DB schema, deploys examples, loads example identities, installs and starts eclipse">
+ <antcall target="internal.install.and.start.hsqldb.if.needed" />
+ <antcall target="create.jbpm.schema" />
+ <antcall target="install.examples.into.tomcat" />
+ <antcall target="install.example.identities.into.tomcat" />
+ <antcall target="start.tomcat" />
+ <antcall target="install.eclipse" />
+ <antcall target="start.eclipse" />
+ </target>
+ <!-- ### DEMO TEARDOWN TOMCAT ################################################ -->
+ <target name="demo.teardown.tomcat"
+ depends="stop.tomcat, internal.stop.hsqldb.server.if.needed"
+ description="stops tomcat and then the hsqldb server if needed">
+ </target>
+
<!-- ### REINSTALL TOMCAT ################################################ -->
<target name="reinstall.tomcat"
depends="delete.tomcat, install.tomcat"
@@ -424,16 +431,16 @@
depends="get.tomcat"
description="Downloads tomcat to ${tomcat.distro.dir} if its not available and then unzips tomcat">
<unzip src="${tomcat.distro.path}" dest="${tomcat.parent.dir}" />
- <antcall target="install.tomcat.linuxandmac" />
+ <antcall target="install.tomcat.linuxandmac" />
</target>
- <target name="install.tomcat.linuxandmac" if="is.linux.unix.or.mac">
- <chmod perm="a+x" os="Linux, Mac OS X">
+ <target name="install.tomcat.linuxandmac" if="is.linux.unix.or.mac">
+ <chmod perm="a+x" os="Linux, Mac OS X">
<fileset dir="${tomcat.home}/bin">
<include name="*.sh" />
</fileset>
</chmod>
- </target>
+ </target>
<!-- ### GET TOMCAT ###################################################### -->
<target name="get.tomcat"
@@ -445,10 +452,10 @@
<!-- ### INSTALL JBPM INTO TOMCAT ####################################### -->
<target name="install.jbpm.into.tomcat"
- depends="create.cfg"
+ depends="create.cfg"
description="Installs jBPM into tomcat">
-
- <property name="is.tomcat" value="true" />
+
+ <property name="is.tomcat" value="true" />
<!-- create the jbpm configuration jar file and drop in /lib -->
<jar destfile="${tomcat.home}/lib/jbpm.cfg.jar">
@@ -457,7 +464,7 @@
</fileset>
</jar>
- <!-- Copy jBPM third party libs into /lib -->
+ <!-- Copy jBPM third party libs into /lib -->
<copy todir="${tomcat.home}/lib" overwrite="true">
<fileset dir="${jbpm.home}">
<include name="jbpm.jar" />
@@ -466,18 +473,18 @@
<include name="activation.jar" />
<include name="antlr.jar" />
<include name="commons-collections.jar" />
- <include name="commons-logging.jar" />
+ <include name="commons-logging.jar" />
<include name="dom4j.jar" />
<include name="freemarker.jar" />
<include name="hibernate-core.jar" />
<include name="hibernate-cglib-repack.jar" />
<include name="javassist.jar" />
- <include name="jbpm-spi.jar" />
- <include name="jbpm-tomcat6.jar" />
+ <include name="jbpm-spi.jar" />
+ <include name="jbpm-tomcat6.jar" />
<include name="jta.jar" />
<include name="juel*.jar" />
<include name="livetribe-jsr223.jar" />
- <include name="log4j.jar" />
+ <include name="log4j.jar" />
<include name="mail.jar" />
<include name="slf4j-api.jar" />
<include name="slf4j-jdk14.jar" />
@@ -489,22 +496,23 @@
</fileset>
</copy>
- <!-- Copy jbpm-console wars into /webapps -->
+ <!-- Copy jbpm-console wars into /webapps -->
<copy todir="${tomcat.home}/webapps" overwrite="true">
<fileset dir="${jbpm.home}/lib">
<include name="gwt-console-jbpm.war" />
<include name="gwt-console-server-jbpm.war" />
</fileset>
</copy>
-
- <!-- Copy Signavio war into /webapps -->
- <antcall target="install.signavio.into.tomcat" />
-
- <!-- Rename wars (the context root is configured by WEB-INF/jboss-web.xml,
- which is neglected by Tomcat -->
- <move file="${tomcat.home}/webapps/gwt-console-jbpm.war" tofile="${tomcat.home}/webapps/jbpm-console.war" />
- <move file="${tomcat.home}/webapps/gwt-console-server-jbpm.war" tofile="${tomcat.home}/webapps/gwt-console-server.war" />
+ <!-- Copy Signavio war into /webapps
+ <antcall target="install.signavio.into.tomcat" />
+ -->
+
+ <!-- Rename wars (the context root is configured by WEB-INF/jboss-web.xml,
+ which is neglected by Tomcat -->
+ <move file="${tomcat.home}/webapps/gwt-console-jbpm.war" tofile="${tomcat.home}/webapps/jbpm-console.war" />
+ <move file="${tomcat.home}/webapps/gwt-console-server-jbpm.war" tofile="${tomcat.home}/webapps/gwt-console-server.war" />
+
<!-- reporting -->
<property name="birt.dir" value="${tomcat.home}/birt"/>
<mkdir dir="${birt.dir}"/>
@@ -514,33 +522,33 @@
<!-- copy database driver -->
<property name="database.driver.destination.dir" value="${tomcat.home}/lib" />
<antcall target="internal.copy.database.driver" />
-
+
</target>
-
- <!-- ### INSTALL EXAMPLES INTO TOMCAT ################################################ -->
- <target name="install.examples.into.tomcat"
- description="deploys all the example processes">
- <ant antfile="${jbpm.home}/examples/build.xml" target="create.and.deploy.examples" />
- <copy file="${examples.file}"
- todir="${tomcat.home}/lib"
- overwrite="true" />
- </target>
-
- <!-- ### INSTALL HSQLDB SERVER ################################################ -->
+
+ <!-- ### INSTALL EXAMPLES INTO TOMCAT ################################################ -->
+ <target name="install.examples.into.tomcat"
+ description="deploys all the example processes">
+ <ant antfile="${jbpm.home}/examples/build.xml" target="create.and.deploy.examples" />
+ <copy file="${examples.file}"
+ todir="${tomcat.home}/lib"
+ overwrite="true" />
+ </target>
+
+ <!-- ### INSTALL HSQLDB SERVER ################################################ -->
<target name="install.hsqldb.server">
- <delete dir="${hsqldb.server.install.dir}" /> <!-- Also deletes old data -->
- <mkdir dir="${hsqldb.server.install.dir}"/>
- <copy file="${jbpm.home}/lib/hsqldb.jar" todir="${hsqldb.server.install.dir}" />
- <copy todir="${hsqldb.server.install.dir}">
- <fileset dir="${hsqldb.server.source.dir}" />
- </copy>
- <chmod perm="a+x" os="Linux, Mac OS X">
- <fileset dir="${hsqldb.server.install.dir}">
- <include name="*.sh"/>
- </fileset>
- </chmod>
+ <delete dir="${hsqldb.server.install.dir}" /> <!-- Also deletes old data -->
+ <mkdir dir="${hsqldb.server.install.dir}"/>
+ <copy file="${jbpm.home}/lib/hsqldb.jar" todir="${hsqldb.server.install.dir}" />
+ <copy todir="${hsqldb.server.install.dir}">
+ <fileset dir="${hsqldb.server.source.dir}" />
+ </copy>
+ <chmod perm="a+x" os="Linux, Mac OS X">
+ <fileset dir="${hsqldb.server.install.dir}">
+ <include name="*.sh"/>
+ </fileset>
+ </chmod>
</target>
-
+
<!-- ### START HSQLDB SERVER ################################################ -->
<target name="start.hsqldb.server" >
<taskdef name="start-hsqldb-server" classname="org.jbpm.pvm.internal.ant.StartHsqldbServerTask">
@@ -549,32 +557,26 @@
<include name="jbpm.jar"/>
</fileset>
</classpath>
- </taskdef>
- <start-hsqldb-server hsqldbServerHome="${hsqldb.server.install.dir}" />
+ </taskdef>
+ <start-hsqldb-server hsqldbServerHome="${hsqldb.server.install.dir}" />
</target>
-
+
<!-- ### SHUTDOWN HSQLDB SERVER ################################################ -->
- <target name="shutdown.hsqldb.server">
+ <target name="stop.hsqldb.server">
<sql driver="${jdbc.driver}"
- password="${jdbc.password}"
- url="${jdbc.url}"
- userid="${jdbc.username}"
- autocommit="true"
- src="${hsqldb.server.install.dir}/shutdown.sql">
- <classpath>
- <fileset dir="${hsqldb.server.install.dir}">
- <include name="hsqldb.jar"/>
- </fileset>
- </classpath>
+ password="${jdbc.password}"
+ url="${jdbc.url}"
+ userid="${jdbc.username}"
+ autocommit="true"
+ src="${hsqldb.server.install.dir}/shutdown.sql">
+ <classpath>
+ <fileset dir="${hsqldb.server.install.dir}">
+ <include name="hsqldb.jar"/>
+ </fileset>
+ </classpath>
</sql>
</target>
-
- <target name="internal.install.and.start.hqsldb.if.needed" if="hsqldb.needed">
- <antcall target="install.hsqldb.server" />
- <antcall target="start.hsqldb.server" />
- </target>
-
-
+
<!-- ### START TOMCAT ################################################### -->
<target name="start.tomcat"
description="Starts Tomcat and waits till it is booted, then lets Tomcat run in the background">
@@ -602,11 +604,11 @@
<arg line="stop"/>
</exec>
</target>
-
+
<!-- ### CREATE JBPM SCHEMA ############################################# -->
<target name="create.jbpm.schema"
description="creates the jbpm tables in the database">
- <echo message="creating jbpm schema in db ${jdbc.url}" />
+ <echo message="creating jbpm schema in db ${jdbc.url}" />
<sql driver="${jdbc.driver}"
url="${jdbc.url}"
userid="${jdbc.username}"
@@ -656,14 +658,14 @@
</classpath>
</sql>
</target>
-
- <!-- ### INSTALL EXAMPLE IDENTITIES INTO TOMCAT ######################################## -->
+
+ <!-- ### INSTALL EXAMPLE IDENTITIES INTO TOMCAT ######################################## -->
<target name="install.example.identities.into.tomcat" depends="load.example.identities">
- <copy file="${install.src.dir}/tomcat/server.xml"
- tofile="${tomcat.home}/conf/server.xml"
- overwrite="true">
- <filterset filtersfile="${jdbc.properties.dir}/${database}.properties" />
- </copy>
+ <copy file="${install.src.dir}/tomcat/server.xml"
+ tofile="${tomcat.home}/conf/server.xml"
+ overwrite="true">
+ <filterset filtersfile="${jdbc.properties.dir}/${database}.properties" />
+ </copy>
</target>
<!-- ### START HSQLDB DATABASE MGR ##################################### -->
@@ -679,27 +681,6 @@
</java>
</target>
- <!-- ### SET SIGNAVIO REPO DIR ##################################### -->
- <target name="internal.set.signavio.repo.dir">
- <mkdir dir="${jbpm.home}/signavio-repository" />
-
- <!-- unzip the signavio war -->
- <property name="temp.signavio.unzip" value="${jbpm.home}/temp-signavio-unzip" />
- <delete dir="${temp.signavio.unzip}" />
- <mkdir dir="${temp.signavio.unzip}" />
- <unzip src="${jbpm.home}/install/src/signavio/${signavio.war.file.name}" dest="${temp.signavio.unzip}" />
-
- <!-- replace the repo dir in he unzipped WEB-INF/web.xml -->
- <replaceregexp file="${temp.signavio.unzip}/WEB-INF/web.xml" flags="s"
- match="<param-name>fileSystemRootDirectory</param-name>.*?<param-value>.*?</param-value>"
- replace="<param-name>fileSystemRootDirectory</param-name><param-value>${current.dir}/${signavio.repo.dir.name}</param-value>"/>
-
- <!-- zip it up again and copy it back to /lib-->
- <zip destfile="${temp.signavio.unzip}/${signavio.war.file.name}" basedir="${temp.signavio.unzip}" />
- <copy file="${temp.signavio.unzip}/${signavio.war.file.name}" todir="${signavio.src.dir}" overwrite="true"/>
- <delete dir="${temp.signavio.unzip}" />
- </target>
-
<!-- ### INSTALL ECLIPSE ################################################ -->
<target name="install.eclipse"
depends="get.eclipse"
@@ -737,8 +718,28 @@
</exec>
</target>
- <!-- ### INTERNAL TARGETS ################################################## -->
+ <target name="install.signavio.into.jboss" depends="internal.set.signavio.repo.dir">
+ <!-- Current version of Signavio needs to be unpacked in /deploy to work correctly -->
+ <unzip src="${signavio.src.dir}/${signavio.war.file.name}" dest="${jboss.server.deploy.dir}/${signavio.war.file.name}" />
+ </target>
+ <target name="install.signavio.into.tomcat" depends="internal.set.signavio.repo.dir">
+ <copy file="${signavio.src.dir}/${signavio.war.file.name}" todir="${tomcat.webapps.dir}"/>
+ </target>
+
+ <!-- ######################## -->
+ <!-- ### INTERNAL TARGETS ### -->
+ <!-- ######################## -->
+
+ <target name="internal.install.and.start.hsqldb.if.needed" if="hsqldb.needed">
+ <antcall target="install.hsqldb.server" />
+ <antcall target="start.hsqldb.server" />
+ </target>
+
+ <target name="internal.stop.hsqldb.server.if.needed" if="hsqldb.needed">
+ <antcall target="stop.hsqldb.server" />
+ </target>
+
<target name="internal.enable.jboss.debug.jboss500" if="is.jboss.500">
<echo message="enabling debug on ${jboss.home}" />
<replace file="${jboss.home}/bin/run.bat"
@@ -785,14 +786,25 @@
<echo message="Copying database driver ${database.driver} to ${database.driver.destination.dir}" />
<copy file="${jbpm.home}/lib/${database.driver}" todir="${database.driver.destination.dir}" />
</target>
-
- <target name="install.signavio.into.jboss" depends="internal.set.signavio.repo.dir">
- <!-- Current version of Signavio needs to be unpacked in /deploy to work correctly -->
- <unzip src="${signavio.src.dir}/${signavio.war.file.name}" dest="${jboss.server.deploy.dir}/${signavio.war.file.name}" />
- </target>
- <target name="install.signavio.into.tomcat" depends="internal.set.signavio.repo.dir">
- <copy file="${signavio.src.dir}/${signavio.war.file.name}" todir="${tomcat.webapps.dir}"/>
+ <target name="internal.set.signavio.repo.dir">
+ <mkdir dir="${jbpm.home}/signavio-repository" />
+
+ <!-- unzip the signavio war -->
+ <property name="temp.signavio.unzip" value="${jbpm.home}/temp-signavio-unzip" />
+ <delete dir="${temp.signavio.unzip}" />
+ <mkdir dir="${temp.signavio.unzip}" />
+ <unzip src="${jbpm.home}/install/src/signavio/${signavio.war.file.name}" dest="${temp.signavio.unzip}" />
+
+ <!-- replace the repo dir in he unzipped WEB-INF/web.xml -->
+ <replaceregexp file="${temp.signavio.unzip}/WEB-INF/web.xml" flags="s"
+ match="<param-name>fileSystemRootDirectory</param-name>.*?<param-value>.*?</param-value>"
+ replace="<param-name>fileSystemRootDirectory</param-name><param-value>${current.dir}/${signavio.repo.dir.name}</param-value>"/>
+
+ <!-- zip it up again and copy it back to /lib-->
+ <zip destfile="${temp.signavio.unzip}/${signavio.war.file.name}" basedir="${temp.signavio.unzip}" />
+ <copy file="${temp.signavio.unzip}/${signavio.war.file.name}" todir="${signavio.src.dir}" overwrite="true"/>
+ <delete dir="${temp.signavio.unzip}" />
</target>
<target name="internal.install.eclipse.windows" if="isWindows">
Modified: jbpm4/trunk/modules/distro/src/main/files/install/src/jboss/config.jboss5/deploy/jbpm/jbpm-service.sar/jbpm-service-jboss-beans.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/files/install/src/jboss/config.jboss5/deploy/jbpm/jbpm-service.sar/jbpm-service-jboss-beans.xml 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/distro/src/main/files/install/src/jboss/config.jboss5/deploy/jbpm/jbpm-service.sar/jbpm-service-jboss-beans.xml 2009-08-30 10:38:08 UTC (rev 5591)
@@ -8,6 +8,9 @@
<bean name="org.jbpm:service=ProcessEngine"
class="org.jbpm.integration.spi.JBPMService">
<property name="serverConfig"><inject bean="org.jbpm:service=ServerConfig"/></property>
+ <property name="dataSource">
+ <inject bean="jboss.jca:name=JbpmDS,service=DataSourceBinding" />
+ </property>
</bean>
<!--
Modified: jbpm4/trunk/modules/distro/src/main/files/install/src/jboss/datasources/jbpm-hsqldb-ds.xml
===================================================================
--- jbpm4/trunk/modules/distro/src/main/files/install/src/jboss/datasources/jbpm-hsqldb-ds.xml 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/distro/src/main/files/install/src/jboss/datasources/jbpm-hsqldb-ds.xml 2009-08-30 10:38:08 UTC (rev 5591)
@@ -24,14 +24,6 @@
<metadata>
<type-mapping>Hypersonic SQL</type-mapping>
</metadata>
-
- <!-- ensure the datasource is not initialized before the database itself -->
- <depends>jboss:service=Hypersonic,database=jbpm4DB</depends>
</local-tx-datasource>
- <mbean code="org.jboss.jdbc.HypersonicDatabase" name="jboss:service=Hypersonic,database=jbpm4DB">
- <attribute name="Database">jbpm4DB</attribute>
- <attribute name="InProcessMode">false</attribute>
- </mbean>
-
</datasources>
Modified: jbpm4/trunk/modules/integration/spi/src/main/java/org/jbpm/integration/spi/JBPMService.java
===================================================================
--- jbpm4/trunk/modules/integration/spi/src/main/java/org/jbpm/integration/spi/JBPMService.java 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/integration/spi/src/main/java/org/jbpm/integration/spi/JBPMService.java 2009-08-30 10:38:08 UTC (rev 5591)
@@ -21,13 +21,13 @@
*/
package org.jbpm.integration.spi;
+import javax.naming.InitialContext;
+
import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.jbpm.integration.spi.mgmt.ServerConfig;
import org.jbpm.internal.log.Log;
-import javax.naming.InitialContext;
-
/**
* @author Heiko.Braun <heiko.braun at jboss.com>
*/
@@ -87,4 +87,7 @@
{
this.jndiName = jndiName;
}
+
+ public void setDataSource(Object dataSource) {
+ }
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/AcquireJobsCmd.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/AcquireJobsCmd.java 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/AcquireJobsCmd.java 2009-08-30 10:38:08 UTC (rev 5591)
@@ -54,35 +54,45 @@
public Collection<Long> execute(Environment environment) throws Exception {
Collection<Long> acquiredJobDbids = new ArrayList<Long>();
- Collection<JobImpl<?>> acquiredJobs = new ArrayList<JobImpl<?>>();
-
- DbSession dbSession = environment.get(DbSession.class);
- log.debug("start querying first acquirable job...");
+ try {
+ Collection<JobImpl<?>> acquiredJobs = new ArrayList<JobImpl<?>>();
+
+ DbSession dbSession = environment.get(DbSession.class);
+ log.debug("start querying first acquirable job...");
- JobImpl<?> job = dbSession.findFirstAcquirableJob();
+ JobImpl<?> job = dbSession.findFirstAcquirableJob();
- if (job!=null) {
- if (job.isExclusive()) {
- log.trace("exclusive acquirable job found ("+job+"). querying for other exclusive jobs to lock them all in one tx...");
- List<JobImpl<?>> otherExclusiveJobs = dbSession.findExclusiveJobs(job.getProcessInstance());
- acquiredJobs.addAll(otherExclusiveJobs);
+ if (job!=null) {
+ if (job.isExclusive()) {
+ log.trace("exclusive acquirable job found ("+job+"). querying for other exclusive jobs to lock them all in one tx...");
+ List<JobImpl<?>> otherExclusiveJobs = dbSession.findExclusiveJobs(job.getProcessInstance());
+ acquiredJobs.addAll(otherExclusiveJobs);
+ } else {
+ acquiredJobs.add(job);
+ }
+
+ for (JobImpl<?> acquiredJob: acquiredJobs) {
+ long lockExpirationTime = System.currentTimeMillis()+jobExecutor.getLockMillis();
+ log.trace("trying to obtain a lock for '"+acquiredJob+"' with exp "+timeFormat.format(new Date(lockExpirationTime)));
+ acquiredJob.acquire(jobExecutor.getName(), new Date(lockExpirationTime));
+ acquiredJobDbids.add(acquiredJob.getDbid());
+ }
+
} else {
- acquiredJobs.add(job);
+ log.trace("no acquirable jobs in job table");
}
-
- for (JobImpl<?> acquiredJob: acquiredJobs) {
- long lockExpirationTime = System.currentTimeMillis()+jobExecutor.getLockMillis();
- log.trace("trying to obtain a lock for '"+acquiredJob+"' with exp "+timeFormat.format(new Date(lockExpirationTime)));
- acquiredJob.acquire(jobExecutor.getName(), new Date(lockExpirationTime));
- acquiredJobDbids.add(acquiredJob.getDbid());
+
+ log.debug("locking jobs "+acquiredJobDbids);
+
+ } catch (Exception e) {
+ // if jboss is still booting exceptions that are due to improper
+ // dependency configuration can be swallowed
+ // https://jira.jboss.org/jira/browse/JBPM-2501
+ if (e.getMessage().indexOf("JbpmDS not bound")==-1) {
+ throw e;
}
-
- } else {
- log.trace("no acquirable jobs in job table");
}
- log.debug("locking jobs "+acquiredJobDbids);
-
return acquiredJobDbids;
}
Modified: jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/DispatcherThread.java
===================================================================
--- jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/DispatcherThread.java 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/pvm/src/main/java/org/jbpm/pvm/internal/jobexecutor/DispatcherThread.java 2009-08-30 10:38:08 UTC (rev 5591)
@@ -90,7 +90,12 @@
} catch (InterruptedException e) {
log.info((isActive ? "active" : "inactive") + " job dispatcher thread '" + getName() + "' got interrupted");
} catch (Exception e) {
- log.error("exception in job executor thread. waiting " + currentIdleInterval + " milliseconds", e);
+ // the exception doesn't have to be logged if jboss is still booting
+ // this should be replaced with proper dependency configuration
+ // https://jira.jboss.org/jira/browse/JBPM-2501
+ if (e.getMessage().indexOf("couldn't lookup 'UserTransaction' from jndi: UserTransaction not bound: UserTransaction not bound")==-1) {
+ log.error("exception in job executor thread. waiting " + currentIdleInterval + " milliseconds", e);
+ }
try {
synchronized (semaphore) {
semaphore.wait(currentIdleInterval);
Deleted: jbpm4/trunk/modules/test-cactus/src/test/java/org/jbpm/test/AllIntegrationTests.java
===================================================================
--- jbpm4/trunk/modules/test-cactus/src/test/java/org/jbpm/test/AllIntegrationTests.java 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/test-cactus/src/test/java/org/jbpm/test/AllIntegrationTests.java 2009-08-30 10:38:08 UTC (rev 5591)
@@ -1,114 +0,0 @@
-package org.jbpm.test;
-
-import junit.framework.Test;
-import junit.framework.TestCase;
-import org.apache.cactus.ServletTestSuite;
-
-public class AllIntegrationTests extends TestCase {
-
- public static Test suite() {
- ServletTestSuite suite = new ServletTestSuite();
- suite.addTestSuite(org.jbpm.examples.async.activity.AsyncActivityTest.class);
- suite.addTestSuite(org.jbpm.examples.async.fork.AsyncForkTest.class);
- suite.addTestSuite(org.jbpm.examples.concurrency.graphbased.ConcurrencyGraphBasedTest.class);
- suite.addTestSuite(org.jbpm.examples.custom.CustomTest.class);
- suite.addTestSuite(org.jbpm.examples.decision.conditions.DecisionConditionsTest.class);
- suite.addTestSuite(org.jbpm.examples.decision.expression.DecisionExpressionTest.class);
- suite.addTestSuite(org.jbpm.examples.decision.handler.DecisionHandlerTest.class);
- suite.addTestSuite(org.jbpm.examples.end.multiple.EndMultipleTest.class);
- suite.addTestSuite(org.jbpm.examples.end.processinstance.EndProcessInstanceTest.class);
- suite.addTestSuite(org.jbpm.examples.end.state.EndStateTest.class);
- suite.addTestSuite(org.jbpm.examples.eventlistener.EventListenerTest.class);
- suite.addTestSuite(org.jbpm.examples.hql.HqlTest.class);
- suite.addTestSuite(org.jbpm.examples.java.JavaInstantiateTest.class);
- suite.addTestSuite(org.jbpm.examples.mail.inline.InlineMailTest.class);
- suite.addTestSuite(org.jbpm.examples.mail.template.TemplateMailTest.class);
- suite.addTestSuite(org.jbpm.examples.script.expression.ScriptExpressionTest.class);
- suite.addTestSuite(org.jbpm.examples.script.text.ScriptTextTest.class);
- suite.addTestSuite(org.jbpm.examples.services.ServicesTest.class);
- suite.addTestSuite(org.jbpm.examples.sql.SqlTest.class);
- suite.addTestSuite(org.jbpm.examples.state.choice.StateChoiceTest.class);
- suite.addTestSuite(org.jbpm.examples.state.sequence.StateSequenceTest.class);
- suite.addTestSuite(org.jbpm.examples.subprocess.outcomeactivity.SubProcessOutcomeActivityTest.class);
- suite.addTestSuite(org.jbpm.examples.subprocess.outcomevalue.SubProcessOutcomeValueTest.class);
- suite.addTestSuite(org.jbpm.examples.subprocess.variables.SubProcessVariablesTest.class);
- suite.addTestSuite(org.jbpm.examples.task.assignee.TaskAssigneeTest.class);
- suite.addTestSuite(org.jbpm.examples.task.assignmenthandler.TaskAssignmentHandlerTest.class);
- suite.addTestSuite(org.jbpm.examples.task.candidates.TaskCandidatesTest.class);
- suite.addTestSuite(org.jbpm.examples.task.comments.TaskCommentsTest.class);
- suite.addTestSuite(org.jbpm.examples.task.notification.TaskNotificationTest.class);
- suite.addTestSuite(org.jbpm.examples.task.reminder.TaskReminderTest.class);
- suite.addTestSuite(org.jbpm.examples.task.swimlane.TaskSwimlaneTest.class);
- suite.addTestSuite(org.jbpm.examples.task.variables.TaskVariablesTest.class);
- suite.addTestSuite(org.jbpm.examples.timer.businesstime.TimerBusinessTimeTest.class);
- suite.addTestSuite(org.jbpm.examples.timer.event.TimerEventTest.class);
- suite.addTestSuite(org.jbpm.examples.timer.repeat.TimerRepeatTest.class);
- suite.addTestSuite(org.jbpm.examples.timer.transition.TimerTransitionTest.class);
- suite.addTestSuite(org.jbpm.examples.async.eventlistener.AsyncEventListenerTest.class);
- suite.addTestSuite(org.jbpm.examples.goup.concurrency.GroupConcurrencyTest.class);
- suite.addTestSuite(org.jbpm.examples.goup.multipleentries.MultipleEntriesTest.class);
- suite.addTestSuite(org.jbpm.examples.goup.simple.GroupSimpleTest.class);
- suite.addTestSuite(org.jbpm.examples.goup.timer.GroupTimerTest.class);
- suite.addTestSuite(org.jbpm.test.activities.DecisionTest.class);
- suite.addTestSuite(org.jbpm.test.activities.ForkJoinInSameTransactionTest.class);
- suite.addTestSuite(org.jbpm.test.activities.ForkTest.class);
- suite.addTestSuite(org.jbpm.test.activities.ForkToTaskTest.class);
- suite.addTestSuite(org.jbpm.test.activities.GroupBasicsTest.class);
- suite.addTestSuite(org.jbpm.test.activities.GroupTimersTest.class);
- suite.addTestSuite(org.jbpm.test.activities.JoinTest.class);
- suite.addTestSuite(org.jbpm.test.activities.StatesJoinEndTest.class);
- suite.addTestSuite(org.jbpm.test.activities.StateTest.class);
- suite.addTestSuite(org.jbpm.test.activities.SubProcessTest.class);
- suite.addTestSuite(org.jbpm.test.activities.TasksJoinEndTest.class);
- suite.addTestSuite(org.jbpm.test.async.AsyncBasicsTest.class);
- suite.addTestSuite(org.jbpm.test.async.AsyncEndCombinationTest.class);
- suite.addTestSuite(org.jbpm.test.async.AsyncEventListenerOnEndTest.class);
- suite.addTestSuite(org.jbpm.test.auth.UserProvidedAuthenticationTest.class);
- suite.addTestSuite(org.jbpm.test.cfg.ConfigurationTest.class);
- suite.addTestSuite(org.jbpm.test.deploy.DeploymentQueryTest.class);
- suite.addTestSuite(org.jbpm.test.deploy.ImageTest.class);
- suite.addTestSuite(org.jbpm.test.deploy.SuspendDeploymentTest.class);
- suite.addTestSuite(org.jbpm.test.eventlistener.EventListenerTest.class);
- suite.addTestSuite(org.jbpm.test.eventlistener.HqlEventListenerTest.class);
- suite.addTestSuite(org.jbpm.test.execution.ConcurrentEndTest.class);
- suite.addTestSuite(org.jbpm.test.execution.ExecutionEagerLoadingTest.class);
- suite.addTestSuite(org.jbpm.test.execution.ExecutionQueryTest.class);
- suite.addTestSuite(org.jbpm.test.execution.FindExecutionTest.class);
- suite.addTestSuite(org.jbpm.test.execution.SignalExecutionTest.class);
- suite.addTestSuite(org.jbpm.test.execution.StartExecutionTest.class);
- suite.addTestSuite(org.jbpm.test.execution.SystemVariablesTest.class);
- suite.addTestSuite(org.jbpm.test.history.AvgDurationTest.class);
- suite.addTestSuite(org.jbpm.test.history.ChoiceDistributionTest.class);
- suite.addTestSuite(org.jbpm.test.history.EndProcessInstanceTest.class);
- suite.addTestSuite(org.jbpm.test.history.HistoryActivityInstanceQeuryTest.class);
- suite.addTestSuite(org.jbpm.test.history.HistoryDetailQueryTest.class);
- suite.addTestSuite(org.jbpm.test.history.HistoryTaskAssigneeTest.class);
- suite.addTestSuite(org.jbpm.test.history.ProcessInstanceHistoryTest.class);
- suite.addTestSuite(org.jbpm.test.identity.IdentityTest.class);
- suite.addTestSuite(org.jbpm.test.mgmt.JobQueryTest.class);
- suite.addTestSuite(org.jbpm.test.process.ActivityCoordinatesTest.class);
- suite.addTestSuite(org.jbpm.test.process.DeploymentResourcesTest.class);
- suite.addTestSuite(org.jbpm.test.process.DescriptionTest.class);
- suite.addTestSuite(org.jbpm.test.process.ProcessDefinitionQueryTest.class);
- suite.addTestSuite(org.jbpm.test.process.ProcessDefinitionStartFormTest.class);
- suite.addTestSuite(org.jbpm.test.process.RepositoryServiceTest.class);
- suite.addTestSuite(org.jbpm.test.task.SubTaskTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskCommentsTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskCreateUpdateDeleteTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskListTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskParticipationsTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskPropertiesTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskQueryCandidatesTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskQueryProcessTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskQueryTest.class);
- suite.addTestSuite(org.jbpm.test.task.TaskVariablesTest.class);
- suite.addTestSuite(org.jbpm.test.taskactivity.TaskCandidatesTest.class);
- suite.addTestSuite(org.jbpm.test.taskactivity.TaskCompletionTest.class);
- suite.addTestSuite(org.jbpm.test.taskactivity.TaskOutcomesTest.class);
- suite.addTestSuite(org.jbpm.test.taskactivity.TaskReassignTest.class);
- suite.addTestSuite(org.jbpm.test.timer.TimerTest.class);
- suite.addTestSuite(org.jbpm.test.variables.BasicVariablesTest.class);
- suite.addTestSuite(org.jbpm.test.variables.VariableBasicTypesTest.class);
- return suite;
- }
-}
Modified: jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml
===================================================================
--- jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/modules/userguide/src/main/docbook/en/modules/ch02-Installation.xml 2009-08-30 10:38:08 UTC (rev 5591)
@@ -36,20 +36,21 @@
there. Otherwise the script will download it for you. The same is true for eclipse-jee-galileo-win32.zip
(or eclipse-jee-galileo-linux-gtk(-x86_64).tar.gz on Linux and eclipse-jee-galileo-macosx-carbon.tar.gz on Mac OSX)
</para>
- <para>Open a command prompt and go do directory <literal>${jbpm.home}/jboss</literal>. Then
+ <para>Open a command prompt and go do directory <literal>${jbpm.home}/install</literal>. Then
run
</para>
- <programlisting>ant demo.setup</programlisting>
+ <programlisting>ant demo.setup.jboss</programlisting>
+ <para>or</para>
+ <programlisting>ant demo.setup.tomcat</programlisting>
<para>That will</para>
<itemizedlist>
<listitem>Install JBoss into the <literal>${jbpm.home}/jboss-5.0.0.GA</literal> directory</listitem>
- <listitem>Install jBPM into that JBoss installation. By default, this includes a hypersonic
- database that is accessable over TCP/IP.
- </listitem>
- <listitem>Start JBoss in the background. This will also start the hypersonic DB.</listitem>
+ <listitem>Install jBPM into that JBoss installation.</listitem>
+ <listitem>Install hsqldb and start it in the background</listitem>
<listitem>Create the DB Schema</listitem>
+ <listitem>Start JBoss in the background.</listitem>
<listitem>Create an examples.bar business archive from the examples and deploy it to the jBPM DB.</listitem>
- <listitem>Load the example users and groups from <literal>${jbpm.home}/db/example.identities.sql</literal> </listitem>
+ <listitem>Load the example users and groups from <literal>${jbpm.home}/install/src/demo/example.identities.sql</literal> </listitem>
<listitem>Install eclipse into <literal>${jbpm.home}/eclipse</literal></listitem>
<listitem>Start eclipse</listitem>
</itemizedlist>
@@ -89,57 +90,42 @@
</table>
</section>
- <section id="antscripts">
- <title>Ant scripts</title>
- <para>This chapter describes how to install jBPM in different
- application environments. Currently we only have a JBoss installation, but we
- soon hope to expand that to incorporate other application environments.
+ <section id="installscripts">
+ <title>Install scripts</title>
+ <para>The jBPM download contains an <literal>install</literal> directory
+ with an ant <link>build.xml</link> file in it. You can use that to
+ install jBPM into your application environment.
</para>
- <para>As part of the installation, the jBPM configuration
- files will be deployed to the target environment. Those jBPM configuration
- files themselves should not be changed after installation. Instead
- the installation scripts take specific configuration parameters
- that will build a valid configuration on the target environment.
- </para>
-
- <para>So it's best to stick to the installations and jBPM configuration files
+ <para>It's best to stick to the installations and jBPM configuration files
as done with these installation scripts. Customizing jBPM configuration files
directly, is possible, but not supported.
</para>
- <para>As you already saw one example in the demo setup, the distribution contains a couple of ant
- scripts:
+ <para>To invoke the install script, open a command line and go to the
+ <literal>${jbpm.home}/install</literal> directory. With <literal>ant -p</literal> you can
+ find out what each of these scripts can do.
</para>
- <itemizedlist>
- <listitem><literal>${jbpm.home}/jboss/build.xml</literal></listitem>
- <listitem><literal>${jbpm.home}/db/build.xml</literal></listitem>
- <listitem><literal>${jbpm.home}/gpd/build.xml</literal></listitem>
- <listitem><literal>${jbpm.home}/examples/build.xml</literal></listitem>
- </itemizedlist>
- <para>With <literal>ant -p</literal> you can find out what each of these scripts can do.
+ <para>The scripts are parametrized with default values.
</para>
- <para>The scripts are parametrized with default values. Following properties you might
- want to customize:
+ <para>To specify your jdbc properties that are used in the DB schema generation, direct DB access like
+ deployment and for the JBoss datasource creation, the easiest is to update the appropriate
+ properties file in directory <literal>${jbpm.home}/install/jdbc</literal>. The appropriate properties
+ file will be loaded by the scripts that are DB related.
</para>
+ <para>Also following properties you might want to customize:</para>
<itemizedlist>
- <listitem><literal>jbpm.home</literal> : Default value is <literal>${user.home}/jbpm-${jbpm-version}</literal>.
- You should set it to the location where you unzipped the distribution.</listitem>
<listitem><literal>database</literal> : Default value is <literal>hsqldb</literal>. Alternative values
are <literal>mysql</literal>, <literal>oracle</literal> and <literal>postgresql</literal></listitem>
<listitem><literal>jboss.version</literal> : Default value is <literal>5.0.0.GA</literal>. Alternative
- value is <literal>5.0.1.GA</literal></listitem>
+ value is <literal>5.1.0.GA</literal></listitem>
</itemizedlist>
<para>To customize the values for these properties, just use <literal>-D</literal> like this
</para>
- <programlisting>ant -Ddatabase=postgresql demo.setup</programlisting>
- <para>Or specify the customized values in <literal>${user.home}/.jbpm4/build.properties</literal>
+ <programlisting>ant -Ddatabase=postgresql demo.setup.jboss</programlisting>
+ <para>Alternativelym you can specify the customized values in
+ <literal>${user.home}/.jbpm4/build.properties</literal>
</para>
- <para>To specify your jdbc properties that are used in the DB schema generation, direct DB access like
- deployment and for the JBoss datasource creation, the easiest is to update the appropriate
- properties file in directory <literal>${jbpm.home}/db/jdbc</literal>. The appropriate properties
- file will be loaded by the scripts that are DB related.
- </para>
</section>
<section id="librarydependenciesandconfigurationfiles">
@@ -153,30 +139,51 @@
<section id="jboss">
<title>JBoss</title>
- <para>The build file <literal>${jbpm.home}/jboss/build.xml</literal> contains scripts for
- installing jBPM into JBoss 5. Navigate to that directory and run <literal>ant -p</literal>
- for more details.
+ <para>The target <literal>install.jbpm.into.jboss</literal> will install jBPM into
+ your JBoss 5 installation. Navigate to the install directory and run <literal>ant -p</literal>
+ for more details. This install script will install jBPM as a JBoss-wide service so
+ that all applications can use the same jBPM ProcessEngine.
</para>
+ <para>Specify property <literal>-Djboss.home=PathToYourJBossInstallation</literal>
+ to customize the path to your JBoss installation.
+ </para>
+ <para>If you are running on a JDK 6, you can also call the installation target
+ <literal>install.signavio.into.jboss</literal>, which will install the
+ web based process modeller into JBoss.
+ </para>
<para>In JBoss, the <literal>ProcessEngine</literal> can be obtained from JNDI
with <literal>new InitialContext().lookup("java:/ProcessEngine")</literal>
+ The same ProcessEngine can be obtained with <literal>Configuration.getProcessEngine()</literal>
</para>
</section>
<section id="tomcat">
<title>Tomcat</title>
- <para>ETA for Tomcat is 4.1: <ulink url="https://jira.jboss.org/jira/browse/JBPM-2397">See JBPM-2397</ulink></para>
+ <para>The target <literal>install.jbpm.into.tomcat</literal> will install jBPM into
+ your JBoss 5 installation.
+ </para>
</section>
+ <section id="userwebapp">
+ <title>User webapp</title>
+ <para>If you want to deploy jBPM as a part of your web application, use the
+ install target <literal>create.user.webapp</literal>. That will
+ create a web application with jBPM in it, in the location <literal>${jbpm.home}/install/generated/user-webapp</literal>.
+ </para>
+ <para>In case you deploy your app on JBoss or another appserver that has the
+ jta.jar classes, then you need to delete the <literal>${jbpm.home}/install/generated/user-webapp/WEB-INF/lib/jta.jar</literal>
+ </para>
+ </section>
+
<section id="database">
<title>Database</title>
- <para>The build file <literal>${jbpm.home}/db/build.xml</literal> contains scripts for
- DB operations like creating and dropping the schema. Navigate to that directory and run <literal>ant -p</literal>
- for more details.
+ <para>The install script also contains scripts for
+ DB operations like creating and dropping the schema.
</para>
<para>To create the schema in your database:</para>
<itemizedlist>
- <listitem>First, update the properties file of your database in <literal>${jbpm.home}/db/jdbc</literal></listitem>
- <listitem>Then run target <literal>ant create.jbpm.schema</literal> in the db directory</listitem>
+ <listitem>First, update the properties file of your database in <literal>${jbpm.home}/install/jdbc</literal></listitem>
+ <listitem>Then run target <literal>ant create.jbpm.schema</literal> in the <literal>${jbpm.home}/install</literal> directory</listitem>
</itemizedlist>
</section>
Modified: jbpm4/trunk/qa/build.xml
===================================================================
--- jbpm4/trunk/qa/build.xml 2009-08-30 07:09:09 UTC (rev 5590)
+++ jbpm4/trunk/qa/build.xml 2009-08-30 10:38:08 UTC (rev 5591)
@@ -60,6 +60,8 @@
depends="reinstall.jbpm">
<ant antfile="${jbpm.home}/install/build.xml" target="reinstall.tomcat" />
<ant antfile="${jbpm.home}/install/build.xml" target="create.user.webapp" />
+ <ant antfile="${jbpm.home}/install/build.xml" target="internal.install.and.start.hsqldb.if.needed" />
+ <ant antfile="${jbpm.home}/install/build.xml" target="create.jbpm.schema" />
<!-- to build the jbpm test webapp we start by copying the user webapp -->
<mkdir dir="${tomcat.home}/webapps/jbpm-test-webapp" />
@@ -90,8 +92,9 @@
<!-- TOMCAT TEARDOWN -->
<target name="testsuite.tomcat.teardown">
- <!-- stop tomcat -->
<ant antfile="${jbpm.home}/install/build.xml" target="stop.tomcat" />
+ <ant antfile="${jbpm.home}/install/build.xml" target="drop.jbpm.schema" />
+ <ant antfile="${jbpm.home}/install/build.xml" target="internal.stop.hsqldb.server.if.needed" />
</target>
<!-- JBOSS SETUP -->
@@ -102,6 +105,9 @@
<ant antfile="${jbpm.home}/install/build.xml" target="install.jbpm.into.jboss" />
<ant antfile="${jbpm.home}/install/build.xml" target="create.user.webapp" />
+ <ant antfile="${jbpm.home}/install/build.xml" target="internal.install.and.start.hsqldb.if.needed" />
+ <ant antfile="${jbpm.home}/install/build.xml" target="create.jbpm.schema" />
+
<ant antfile="${jbpm.home}/examples/build.xml" target="examples.jar" />
<mkdir dir="${jboss.server.config.dir}/deploy/jbpm/userlibs" />
<copy file="${jbpm.home}/examples/target/examples.jar"
@@ -141,16 +147,14 @@
<!-- start jboss -->
<ant antfile="${jbpm.home}/install/build.xml" target="start.jboss" />
-
- <!-- create db schema -->
- <ant antfile="${jbpm.home}/install/build.xml" target="create.jbpm.schema" />
</target>
<!-- JBOSS TEARDOWN -->
<target name="testsuite.jboss.teardown"
description="drops the jbpm schema and stops jboss">
+ <ant antfile="${jbpm.home}/install/build.xml" target="stop.jboss" />
<ant antfile="${jbpm.home}/install/build.xml" target="drop.jbpm.schema" />
- <ant antfile="${jbpm.home}/install/build.xml" target="stop.jboss" />
+ <ant antfile="${jbpm.home}/install/build.xml" target="internal.stop.hsqldb.server.if.needed" />
</target>
<!-- ############################################ -->
More information about the jbpm-commits
mailing list