1 2 Previous Next 18 Replies Latest reply on Sep 1, 2005 8:17 AM by sak Go to original post
      • 15. Re: RE: Trying to get started with jBPM 3.0
        isellakuria

        OK, I saw the post, I donwloaded the jbpm-3.0.zip and run the build-deploy ant tasks but after 4 minutes I get a lot of errors with no success...Anyway, is there any problem in using the starter's kit preconfigured JBoss if you create your own configuration? I created my own configuration and I got Susan's jsp for deploying processes running though now I can't deploy the .sar and .war archives correctly...Do you think I should start again with a fresh JBoss version?

        Thanks,

        Igor.

        • 16. Re: RE: Trying to get started with jBPM 3.0
          isellakuria

          Hi again!I'm back with new problems. I'm having problems deploying the jbpm.war file to use the previously deployed process in mysql. The error logs are the following:

          19:20:33,128 DEBUG [JbpmSessionFactory] jndiNAme: 'java:/jbpm/JbpmSessionFactory'
          19:20:33,128 DEBUG [JbpmSessionFactory] fetching JbpmSessionFactory from 'java:/jbpm/JbpmSessionFactory'
          19:20:33,138 ERROR [[/jbpm]] StandardWrapper.Throwable
          java.lang.ExceptionInInitializerError
          at org.jbpm.scheduler.impl.Scheduler.start(Scheduler.java:20)
          at org.jbpm.scheduler.impl.SchedulerServlet.init(SchedulerServlet.java:66)
          at javax.servlet.GenericServlet.init(GenericServlet.java:211)
          at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
          at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
          at
          ...
          ...
          19:20:33,148 ERROR [[/jbpm]] Servlet /jbpm threw load() exception
          java.lang.ExceptionInInitializerError
          at org.jbpm.scheduler.impl.Scheduler.start(Scheduler.java:20)
          at org.jbpm.scheduler.impl.SchedulerServlet.init(SchedulerServlet.java:66)
          at javax.servlet.GenericServlet.init(GenericServlet.java:211)
          at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
          at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
          at
          ...
          ...

          Thanks,

          Igor.

          • 17. Re: RE: Trying to get started with jBPM 3.0
            isellakuria

            The structure of my jbpm.war file is the following:

            -admin.jsp
            -footer.jsp
            -...
            +WEB-INF
            -faces-config
            -jbpm
            -web
            -jboss-service
            +lib
            -jbpm-3.0
            -jbpm-webapp-3.0
            -jbpm.sar.cfg
            -commons-digester-1.5
            -jbpm-identity-3.0
            -commons-beanutils-1.6.1
            -myfaces-1.0.9
            -standard-1.1.2
            -myfaces-jsf-api-1.0.9
            -jstl-1.1.0
            -myfaces-impl-1.0.9
            +images
            +css
            +META-INF

            web.xml:

            <?xml version="1.0" encoding="UTF-8"?>
            <web-app version="2.4"
            xmlns="http://java.sun.com/xml/ns/j2ee"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

            <!-- jBPM SchedulerServlet -->

            <servlet-name>SchedulerServlet</servlet-name>
            <servlet-class>org.jbpm.scheduler.impl.SchedulerServlet</servlet-class>
            <load-on-startup>1</load-on-startup>

            <servlet-mapping>
            <servlet-name>SchedulerServlet</servlet-name>
            <url-pattern>/scheduler</url-pattern>
            </servlet-mapping>

            <!-- jBPM FileServlet -->

            <servlet-name>ProcessImageServlet</servlet-name>
            <servlet-class>org.jbpm.webapp.servlet.ProcessImageServlet</servlet-class>

            <servlet-mapping>
            <servlet-name>ProcessImageServlet</servlet-name>
            <url-pattern>/processimage</url-pattern>
            </servlet-mapping>

            <!-- MyFaces JSF -->

            <listener-class>org.apache.myfaces.webapp.StartupServletContextListener</listener-class>


            <servlet-name>FacesServlet</servlet-name>
            <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
            <load-on-startup>1</load-on-startup>

            <servlet-mapping>
            <servlet-name>FacesServlet</servlet-name>
            <url-pattern>/faces/*</url-pattern>
            </servlet-mapping>


            <filter-name>LogFilter</filter-name>
            <filter-class>org.jbpm.webapp.filter.LogFilter</filter-class>

            <filter-mapping>
            <filter-name>LogFilter</filter-name>
            <url-pattern>/*</url-pattern>
            </filter-mapping>


            <filter-name>ContextFilter</filter-name>
            <filter-class>org.jbpm.webapp.filter.ContextFilter</filter-class>

            <filter-mapping>
            <filter-name>ContextFilter</filter-name>
            <url-pattern>/*</url-pattern>
            </filter-mapping>


            <filter-name>PersistenceFilter</filter-name>
            <filter-class>org.jbpm.webapp.filter.PersistenceFilter</filter-class>

            <filter-mapping>
            <filter-name>PersistenceFilter</filter-name>
            <url-pattern>/*</url-pattern>
            </filter-mapping>


            <filter-name>AuthenticationFilter</filter-name>
            <filter-class>org.jbpm.webapp.filter.AuthenticationFilter</filter-class>

            <filter-mapping>
            <filter-name>AuthenticationFilter</filter-name>
            <url-pattern>/*</url-pattern>
            </filter-mapping>

            </web-app>

            jboss-service.xml:

            <?xml version="1.0" encoding="UTF-8"?>



            java:/jbpm/JbpmSessionFactory
            jboss.jca:service=DataSourceBinding,name=MySqlDS



            Any clues???Help please, this setting up is driving me crazy...

            Thanks,

            Igor.

            • 18. Re: RE: Trying to get started with jBPM 3.0:jbpm with MYSQL
              sak

              I never changed web.xml.. i just placed the jsps in the application root directory and converted the websale folder(which i wanted to deploy initially) to websale.war and placed into the deploy folder of jbpm in jboss.

              Anyway for those who are interested.. here is the ant build files (modified ant files that comes with jbpm) to deploy the websale or for that matter any workflow on Mysql and jboss-4.x .
              the steps I followed was
              1. place your .par file in jbpm-3.0\src\process.examples
              2. All of your java source file in the src\java.examples(along with the package folders)

              3.create mysql folder and related configuration, the easiest way is to copy the mysql folder in startedkit\jbpm-db into the jbpm-3.0\src\resources
              then change the properties file according to your setup

              4.copy your identity.db.xml into the jbpm-3.0\src\resources\mysql

              here is the build files

              build.xml

              
              
              <project name="jbpm.3" basedir="." default="build">
              
               <description>jbpm.3 build</description>
              
               <!-- ================== -->
               <!-- === PROPERTIES === -->
               <!-- ================== -->
               <!-- build.properties is in cvs. you can overwrite properties in -->
               <!-- build.properties by creating a build.local.properties which -->
               <!-- should not be checked into cvs but only serves your local -->
               <!-- environment. that way, you don't need to modify this build -->
               <!-- file when customizing properties to your environment. -->
               <!-- <property file="build.local.properties" /> -->
               <property file="build.properties" />
              
               <!-- ================= -->
               <!-- === CLASSPATH === -->
               <!-- ================= -->
               <path id="classpath">
               <pathelement path="build/classes.identity" />
               <pathelement path="build/classes.jbpm" />
               <pathelement path="build/classes.webapp" />
               <pathelement path="src/config.files" />
               <fileset dir="lib" includes="**/*.jar" />
               </path>
              
               <path id="test.classpath">
               <path refid="classpath"/>
               <pathelement path="build/classes.identity.test" />
               <pathelement path="build/classes.jbpm.test" />
               </path>
              
               <!-- ============= -->
               <!-- === CLEAN === -->
               <!-- ============= -->
               <target name="clean" description="removes all generated files">
               <delete dir="build" />
               </target>
              
               <!-- =============== -->
               <!-- === COMPILE === -->
               <!-- =============== -->
               <target name="compile" depends="compile.jbpm, compile.jbpm.test, compile.identity, compile.webapp, compile.identity.test,compile.examples " description="compiles all" />
              
               <target name="compile.jbpm" description="compiles src/java.jbpm to the build/classes.jbpm folder">
               <mkdir dir="build/classes.jbpm" />
               <javac srcdir="src/java.jbpm" destdir="build/classes.jbpm" debug="on" fork="yes">
               <classpath refid="classpath"/>
               </javac>
               <copy todir="build/classes.jbpm">
               <fileset dir="src/java.jbpm" excludes="**/*.java, **/CVS"/>
               </copy>
               </target>
              
               <target name="compile.jbpm.test" depends="compile.jbpm" description="compiles src/java.jbpm.test to the build/classes.jbpm.test folder">
               <mkdir dir="build/classes.jbpm.test" />
               <javac srcdir="src/java.jbpm.test" destdir="build/classes.jbpm.test" debug="on" fork="yes">
               <classpath refid="classpath"/>
               </javac>
               <copy todir="build/classes.jbpm.test">
               <fileset dir="src/java.jbpm.test" excludes="**/*.java, **/CVS"/>
               </copy>
               </target>
              
               <target name="compile.identity" depends="compile.jbpm" description="compiles src/java.identity to the build/classes.identity folder">
               <mkdir dir="build/classes.identity" />
               <javac srcdir="src/java.identity" destdir="build/classes.identity" debug="on" fork="yes">
               <classpath refid="classpath"/>
               </javac>
               <copy todir="build/classes.identity">
               <fileset dir="src/java.identity" excludes="**/*.java, **/CVS"/>
               </copy>
               </target>
              
               <target name="compile.identity.test" depends="compile.jbpm.test,compile.identity" description="compiles src/java.identity.test to the build/classes.identity.test folder">
               <mkdir dir="build/classes.identity.test" />
               <javac srcdir="src/java.identity.test" destdir="build/classes.identity.test" debug="on" fork="yes">
               <classpath refid="test.classpath"/>
               </javac>
               <copy todir="build/classes.identity.test">
               <fileset dir="src/java.identity.test" excludes="**/*.java, **/CVS"/>
               </copy>
               </target>
              
               <target name="compile.webapp" description="compiles src/java.webapp to the build/classes.webapp folder">
               <mkdir dir="build/classes.webapp" />
               <javac srcdir="src/java.webapp" destdir="build/classes.webapp" debug="on" fork="yes">
               <classpath refid="classpath"/>
               </javac>
               <copy todir="build/classes.webapp">
               <fileset dir="src/java.webapp" excludes="**/*.java, **/CVS"/>
               </copy>
               </target>
              
               <target name="compile.examples" depends="compile.jbpm" description="compiles src/java.examples to the build/examples.classes folder">
               <mkdir dir="build/classes.examples" />
               <javac srcdir="src/java.examples" destdir="build/classes.examples" debug="on" fork="yes">
               <classpath refid="test.classpath"/>
               </javac>
               <copy todir="build/classes.examples">
               <fileset dir="src/java.examples" excludes="**/*.java, **/CVS"/>
               </copy>
               </target>
              
               <!-- ============= -->
               <!-- === BUILD === -->
               <!-- ============= -->
               <target name="build" depends="build.jbpm, build.identity, build.webapp, build.service.archive, build.converter" description="builds all libraries" />
              
               <target name="build.jbpm" depends="compile.jbpm" description="builds jbpm-[version].jar">
               <jar destfile="build/jbpm-${jbpm.version}.jar">
               <fileset dir="build/classes.jbpm" />
               </jar>
               </target>
              
               <target name="build.identity" depends="compile.identity" description="builds jbpm-identity-[version].jar">
               <jar destfile="build/jbpm-identity-${jbpm.version}.jar">
               <fileset dir="build/classes.identity" />
               </jar>
               </target>
              
               <target name="build.webapp" depends="compile" description="builds jbpm-webapp-${jbpm.version}.jar">
               <jar destfile="build/jbpm-webapp-${jbpm.version}.jar">
               <fileset dir="build/classes.webapp" />
               </jar>
               </target>
              
               <target name="build.service.archive" depends="build.jbpm, build.identity" description="builds jbpm.sar">
               <!-- package the jbpm sar configuration files in a .jar -->
               <mkdir dir="build/jbpm.sar.cfg.jar.dir" />
               <copy file="src/config.files/hibernate.cfg.xml" tofile="build/jbpm.sar.cfg.jar.dir/jbpm.hibernate.cfg.xml" />
               <copy todir="build/jbpm.sar.cfg.jar.dir">
               <fileset dir="src/config.files" includes="*.xml"/>
               <fileset dir="src/resources/jbpm.sar" includes="*.properties"/>
               </copy>
               <jar destfile="build/jbpm.sar.cfg.jar">
               <fileset dir="build/jbpm.sar.cfg.jar.dir" />
               </jar>
               <!-- package the jbpm service archive in a .sar -->
               <mkdir dir="build/jbpm.sar.dir" />
               <copy todir="build/jbpm.sar.dir">
               <fileset dir="src/resources/jbpm.sar" excludes="*.properties"/>
               <fileset dir="lib/hibernate">
               <include name="commons-collections-2.1.1.jar" />
               <include name="ehcache-1.1.jar" />
               </fileset>
               <fileset dir="build">
               <include name="jbpm-${jbpm.version}.jar" />
               <include name="jbpm-identity-${jbpm.version}.jar" />
               <include name="jbpm.sar.cfg.jar" />
               </fileset>
               </copy>
               <jar destfile="build/jbpm.sar">
               <fileset dir="build/jbpm.sar.dir" />
               </jar>
               </target>
              
               <!-- Change the description of target to appropriate name -->
              
               <target name="build.processes" depends="compile.examples" description="builds the example processes">
               <mkdir dir="build/yourparfoldername/classes" />
               <copy todir="build/yourparfoldername">
               <fileset dir="src/process.examples/yourparfoldername.par" />
               </copy>
               <copy todir="build/yourparfoldername/classes">
               <fileset dir="build/classes.examples" includes="com/cranes/yourparfoldername/jbpm/**" />
               </copy>
               <zip destfile="build/yourparfoldername.par">
               <fileset dir="build/yourparfoldername" />
               </zip>
               </target>
              
               <target name="build.converter" depends="build.jbpm" description="builds converter.jar">
               <jar destfile="build/converter.jar">
               <manifest>
               <attribute name="Class-Path" value="./jbpm-${jbpm.version}.jar ../lib/xerces/xercesImpl.jar ../lib/xerces/xml-apis.jar ../lib/hibernate/dom4j-1.5.2.jar ../lib/log4j/log4j-1.2.8.jar ../lib/hibernate/commons-logging-1.0.4.jar"/>
               <attribute name="Main-Class" value="org.jbpm.jpdl.convert.Converter"/>
               </manifest>
               </jar>
               </target>
              
               <!-- ============ -->
               <!-- === TEST === -->
               <!-- ============ -->
               <target name="test" depends="test.jbpm, test.identity" description="executes all tests" />
              
               <target name="test.jbpm" depends="compile.jbpm.test, compile.identity" description="executes the jbpm tests">
               <!-- the dependency on compile.identity is necessary to make the identity mapping files available -->
               <mkdir dir="build/test.results.jbpm/xml" />
               <junit printsummary="yes" fork="yes" forkmode="once" showoutput="false">
               <classpath refid="test.classpath" />
               <formatter type="xml" />
               <batchtest todir="build/test.results.jbpm/xml">
               <fileset dir="build/classes.jbpm.test">
               <include name="**/*Test.class" />
               <exclude name="**/*DbTest.class" />
               <exclude name="org/jbpm/context/exe/HibernateCustomizationTest.class" />
               </fileset>
               </batchtest>
               <batchtest todir="build/test.results.jbpm/xml">
               <fileset dir="build/classes.jbpm.test">
               <include name="**/*DbTest.class" />
               </fileset>
               </batchtest>
               <!--
               <test name="org.jbpm.context.exe.HibernateCustomizationTest" todir="build/jbpm.test.results/xml" />
               -->
               </junit>
               <junitreport todir="build/test.results.jbpm/xml">
               <fileset dir="." includes="**/TEST-*.xml"/>
               <report todir="build/test.results.jbpm" />
               </junitreport>
               </target>
              
               <target name="test.identity" depends="compile.identity.test" description="executes the identity tests">
               <mkdir dir="build/test.results.identity/xml" />
               <junit printsummary="yes" fork="yes" forkmode="once" showoutput="false">
               <classpath refid="test.classpath" />
               <formatter type="xml" />
               <batchtest todir="build/test.results.identity/xml">
               <fileset dir="build/classes.identity.test">
               <include name="org/jbpm/identity/**/*Test.class" />
               </fileset>
               </batchtest>
               </junit>
               <junitreport todir="build/test.results.identity/xml">
               <fileset dir="." includes="**/TEST-*.xml"/>
               <report todir="build/test.results.identity" />
               </junitreport>
               </target>
              
               <target name="view.jbpm.testresults" description="view the jbpm testresults in a browser">
               <exec executable="C:/Program Files/Internet Explorer/IEXPLORE.EXE" os="Windows XP,Windows 2000,Windows 98">
               <arg value="file://${jbpm.home}/build/test.results.jbpm/index.html" />
               </exec>
               <exec executable="/usr/bin/open" os="Mac OS X">
               <arg value="file://${jbpm.home}/build/test.results.jbpm/index.html" />
               </exec>
               </target>
              
               <target name="view.identity.testresults" description="view the identity testresults in a browser">
               <exec executable="C:/Program Files/Internet Explorer/IEXPLORE.EXE" os="Windows XP,Windows 2000,Windows 98">
               <arg value="file://${jbpm.home}/build/test.results.identity/index.html" />
               </exec>
               <exec executable="/usr/bin/open" os="Mac OS X">
               <arg value="file://${jbpm.home}/build/test.results.identity/index.html" />
               </exec>
               </target>
              
               <!-- ================ -->
               <!-- === COVERAGE === -->
               <!-- ================ -->
               <target name="init.clover">
               <mkdir dir="build/test.coverage.jbpm/db"/>
               <mkdir dir="build/test.coverage.jbpm/tmp"/>
               <taskdef resource="clovertasks"/>
               <clover-setup initstring="${basedir}/build/test.coverage.jbpm/db/coverage.db" tmpdir="${basedir}/build/test.coverage.jbpm/tmp">
               <fileset dir="${basedir}/src/java.jbpm" />
               </clover-setup>
               </target>
              
               <target name="test.jbpm.coverage" depends="clean,compile.jbpm.test,compile.identity,init.clover" description="execute the jbpm tests and measure the coverage" >
               <delete dir="build/classes.jbpm" />
               <mkdir dir="build/classes.jbpm"/>
               <javac srcdir="src/java.jbpm" destdir="build/classes.jbpm" debug="on" fork="yes">
               <classpath refid="classpath"/>
               </javac>
               <copy todir="build/classes.jbpm">
               <fileset dir="src/java.jbpm" excludes="**/*.java, **/CVS"/>
               </copy>
               <antcall target="test.jbpm"/>
               <echo message="coverage tests executed, use target 'view.jbpm.coverage' to generate the results" />
               </target>
              
               <target name="test.jbpm.coverage.generate" depends="init.clover">
               <!-- NOTE: this target does not work properly if executed in the same ant-run as the coverage-test-executions -->
               <clover-report>
               <current outfile="build/test.coverage.jbpm">
               <format type="html"/>
               </current>
               </clover-report>
               </target>
              
               <target name="view.jbpm.coverageresults" depends="test.jbpm.coverage.generate" description="opens a browser with the coverage results">
               <!-- NOTE: this target does not work properly if executed in the same ant-run as the coverage-test-executions -->
               <echo message="showing the test coverage results. close the browser to continue..." />
               <exec executable="C:/Program Files/Internet Explorer/IEXPLORE.EXE" os="Windows XP,Windows 2000,Windows 98">
               <arg value="file://${jbpm.home}/build/test.coverage.jbpm/index.html" />
               </exec>
               <exec executable="/usr/bin/open" os="Mac OS X">
               <arg value="file://${jbpm.home}/build/test.coverage.jbpm/index.html" />
               </exec>
               </target>
              
               <!-- =========== -->
               <!-- === DOC === -->
               <!-- =========== -->
              
               <target name="javadoc.identity" depends="compile.identity" description="creates the javadocs for identity in build/javadoc.identity">
               <mkdir dir="build/javadoc.identity" />
               <javadoc
               sourcepath="src/java.identity"
               destdir="build/javadoc.identity"
               author="true"
               version="true"
               private="false"
               overview="src/java.identity/overview.html"
               windowtitle="jbpm-identity-${jbpm.version}"
               bottom="Version : jbpm-identity-${jbpm.version}">
               <packageset dir="src/java.identity" />
               <classpath refid="classpath" />
               </javadoc>
               <copy todir="build/javadoc.identity">
               <fileset dir="src/java.identity" includes="**/*.gif,**/*.jpg"/>
               </copy>
               </target>
              
              
               <!-- ==================== -->
               <!-- === INSTALLATION === -->
               <!-- ==================== -->
               <target name="install.ant.libs" description="copies junit and clover jars to the directory ${ant.home}/lib">
               <copy todir="${ant.home}/lib" file="lib/clover/clover.jar" overwrite="true"/>
               <copy todir="${ant.home}/lib" file="lib/clover/clover.license" overwrite="true"/>
               <copy todir="${ant.home}/lib" file="lib/junit/junit-3.8.1.jar" overwrite="true"/>
               </target>
              
               <!-- ============ -->
               <!-- === DIST === -->
               <!-- ============ -->
               <target name="dist" depends="clean, build, javadoc">
               <!-- first make the jbpm zip -->
               <ant antfile="src/userguide/build.xml" target="all.doc" inheritall="false"/>
               <mkdir dir="build/jbpm-${jbpm.version}/build" />
               <copy todir="build/jbpm-${jbpm.version}">
               <fileset dir="." excludes="build/**" />
               </copy>
               <copy todir="build/jbpm-${jbpm.version}/doc">
               <fileset dir="build" includes="userguide/**" />
               <fileset dir="build" includes="javadoc.jbpm/**" />
               <fileset dir="build" includes="javadoc.identity/**" />
               </copy>
               <copy todir="build/jbpm-${jbpm.version}/build">
               <fileset dir="build" includes="*.jar" />
               </copy>
               <zip destfile="build/jbpm-${jbpm.version}.zip" compress="true" filesonly="true" update="no">
               <fileset dir="build" includes="jbpm-${jbpm.version}/**" />
               </zip>
              
               <!-- then make the starters kit -->
               <mkdir dir="build/jbpm-starters-kit-${jbpm.version}/jbpm" />
               <move todir="build/jbpm-starters-kit-${jbpm.version}/jbpm">
               <fileset dir="build/jbpm-${jbpm.version}" />
               </move>
              
               <ant antfile="../jbpm.db/build.xml" target="dist" inheritall="false"/>
               <mkdir dir="build/jbpm-starters-kit-${jbpm.version}/jbpm-db" />
               <copy todir="build/jbpm-starters-kit-${jbpm.version}/jbpm-db">
               <fileset dir="../jbpm.db/build/jbpm-db-${jbpm.version}.zip.dir" />
               </copy>
              
               <ant antfile="build.deploy.xml" target="create.jbpm.configuration" inheritall="false"/>
               <mkdir dir="build/jbpm-starters-kit-${jbpm.version}/jbpm-server" />
               <copy todir="build/jbpm-starters-kit-${jbpm.version}/jbpm-server">
               <fileset dir="${jboss.home}">
               <exclude name="server/all/**" />
               <exclude name="server/default/**" />
               <exclude name="server/minimal/**" />
               </fileset>
               </copy>
              
               <copy todir="build/jbpm-starters-kit-${jbpm.version}" overwrite="true">
               <fileset dir="src/resources/starters-kit" />
               </copy>
              
               <mkdir dir="build/jbpm-starters-kit-${jbpm.version}/jbpm-designer/jbpm-gpd-local-site" />
               <unzip src="${jbpm.gpd.site.file}" dest="build/jbpm-starters-kit-${jbpm.version}/jbpm-designer/jbpm-gpd-local-site" />
              
               <zip destfile="build/jbpm-starters-kit-${jbpm.version}.zip">
               <fileset dir="build" includes="jbpm-starters-kit-${jbpm.version}/**" />
               </zip>
               </target>
              
              </project>
              
              
              Here is build.deploy.xml
              
              
              <project name="jbpm.deploy" basedir="." default="create.jbpm.configuration">
              
               <description>jbpm deployment build file</description>
              
               <target name="test.basedir">
               <echo message="${basedir}" />
               </target>
              
               <!-- ================== -->
               <!-- === PROPERTIES === -->
               <!-- ================== -->
               <!-- <property file="build.local.properties" /> -->
               <property file="build.properties" />
              
               <!-- ================= -->
               <!-- === CLASSPATH === -->
               <!-- ================= -->
               <path id="classpath.ant">
               <pathelement path="build/classes.identity" />
               <pathelement path="build/classes.jbpm" />
               <pathelement path="build/classes.webapp" />
               <pathelement path="src/config.files" />
               <fileset dir="lib" includes="**/*.jar" />
               </path>
              
              
               <!-- ============= -->
               <!-- === CLEAN === -->
               <!-- ============= -->
               <target name="delete.jbpm.configuration" description="removes the jbpm configuration from jboss">
               <delete dir="${jboss.home}/server/jbpm" />
               <delete dir="${jboss.home}/server/data" />
               <delete dir="${jboss.home}/server/log" />
               <delete dir="${jboss.home}/server/tmp" />
               <delete dir="${jboss.home}/server/work" />
               </target>
              
               <target name="clean" description="removes all generated files">
               <delete dir="build" />
               </target>
              
               <!-- ============== -->
               <!-- === SERVER === -->
               <!-- ============== -->
               <target name="create.db" depends="declare.jbpm.tasks, db.clean" description="creates a mysql database with the jbpm tables and loads the processes in there">
               <jbpmschema actions="create" properties="src/resources/mysql/create.db.hibernate.properties"/>
               <loadidentities file="src/resources/mysql/identity.db.xml" properties="src/resources/mysql/create.db.hibernate.properties"/>
               <ant antfile="build.xml" target="build.processes" inheritall="false" />
               <deploypar properties="src/resources/mysql/create.db.hibernate.properties">
               <fileset dir="build" includes="*.par" />
               </deploypar>
              
               </target>
              
               <target name="create.jbpm.configuration" depends="delete.jbpm.configuration, build.webapp, build.service.archive, create.db" description="creates a jbpm configuration">
               <mkdir dir="${jboss.home}/server/jbpm" />
               <copy todir="${jboss.home}/server/jbpm">
               <fileset dir="${jboss.home}/server/${jboss.source.configuration}">
               <exclude name="data/**" />
               <exclude name="log/**" />
               <exclude name="tmp/**" />
               <exclude name="work/**" />
               <exclude name="jms/jbossmq-destination-service.xml" />
               <exclude name="deploy/jboss-aop.deployer/**" />
               <exclude name="deploy/jboss-ws4ee.sar/**" />
               <exclude name="deploy/management/**" />
               <exclude name="deploy/bsh-deployer.xml" />
               <exclude name="deploy/hsqldb-ds.xml" />
               <exclude name="deploy/jboss-ha-local-jdbc.rar" />
               <exclude name="deploy/jboss-ha-xa-jdbc.rar" />
               <exclude name="deploy/jboss-ha-local-jdbc.rar" />
               <exclude name="deploy/mail*" />
               <exclude name="deploy/monitoring-service.xml" />
               <exclude name="deploy/properties-service.xml" />
               <exclude name="deploy/schedule*" />
               <exclude name="deploy/uuid-key-generator.sar" />
               <exclude name="deploy/jms/hsqldb-jdbc2-service.xml"/>
               </fileset>
               </copy>
               <!-- copy the prefabricated resources -->
               <copy todir="${jboss.home}/server/jbpm" overwrite="true">
               <fileset dir="src/resources/jboss-${jboss.version}" />
               </copy>
               <!-- copy the mysql-jdbc2-service.xml file into jms folder of jbpm -->
               <copy file="${jboss.home}/docs/examples/jms/mysql-jdbc2-service.xml" todir="${jboss.home}/server/jbpm/deploy/jms"/>
              
               <!-- copy Mysqlconnector.jar to jboss\servers\jbpm\lib -->
               <copy file="c:/mylibs/mysql/mysql-connector-java-3.1.7-bin.jar" todir="${jboss.home}/server/jbpm/lib" />
              
               <!-- deploy the jbpm service archive -->
               <ant antfile="build.xml" target="build" inheritall="false" />
               <mkdir dir="${jboss.home}/server/jbpm/deploy/jbpm.sar" />
               <unzip src="build/jbpm.sar" dest="${jboss.home}/server/jbpm/deploy/jbpm.sar" />
               <!-- deploy the jbpm web application -->
               <antcall target="build.webapp" />
               <copy todir="${jboss.home}/server/jbpm/deploy" file="build/jbpm.war" />
               </target>
              
               <!-- ============= -->
               <!-- === BUILD === -->
               <!-- ============= -->
               <target name="build.webapp" description="builds jbpm.war">
               <ant antfile="build.xml" target="build.webapp" />
               <mkdir dir="build/jbpm.war.dir" />
               <copy todir="build/jbpm.war.dir">
               <fileset dir="src/resources/jbpm.war" />
               </copy>
               <copy todir="build/jbpm.war.dir/WEB-INF/lib">
               <fileset dir="build" includes="jbpm-webapp-${jbpm.version}.jar" />
               <fileset dir="lib/jsf" includes="*.jar" />
               <fileset dir="lib/commons" includes="commons-digester-*.jar, commons-beanutils-*.jar" />
               </copy>
               <jar destfile="build/jbpm.war">
               <fileset dir="build/jbpm.war.dir" />
               </jar>
               </target>
              
               <target name="build.service.archive" description="builds jbpm.sar">
               <ant antfile="build.xml" target="build.service.archive" />
               </target>
              
               <!-- ============== -->
               <!-- === DEPLOY === -->
               <!-- ============== -->
               <target name="deploy.webapp" depends="build.webapp" description="deploys the jbpm webapp">
               <ant antfile="build.xml" target="build.jbpm" />
               <get dest="build/deployresult.html" src="http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.system:service%3DMainDeployer&methodName=redeploy&argType=java.net.URL&arg0=file://${basedir}/build/jbpm.war" />
               </target>
              
               <target name="undeploy.webapp" description="undeploys the jbpm webapp">
               <get dest="build/undeployresult.html" src="http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.system:service%3DMainDeployer&methodName=undeploy&argType=java.net.URL&arg0=file://${basedir}/build/jbpm.war" />
               </target>
              
               <target name="deploy.service.archive" depends="build.service.archive" description="deploys jbpm.sar">
               <get dest="build/deployresult.html" src="http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.system:service%3DMainDeployer&methodName=redeploy&argType=java.net.URL&arg0=file://${basedir}/build/jbpm.sar" />
               </target>
              
               <target name="undeploy.service.archive" description="undeploys the service archive">
               <get dest="build/undeployresult.html" src="http://localhost:8080/jmx-console/HtmlAdaptor?action=invokeOpByName&name=jboss.system:service%3DMainDeployer&methodName=undeploy&argType=java.net.URL&arg0=file://${basedir}/build/jbpm.sar" />
               </target>
              
               <target name="deploy.processes" depends="declare.jbpm.tasks" description="deploys the jbpm processes">
               <ant antfile="build.xml" target="build.processes" inheritall="false" />
               <deploypar properties="src/resources/mysql/create.db.hibernate.properties">
               <fileset dir="build" includes="*.par" />
               </deploypar>
               </target>
              
              
               <!-- =========== -->
               <!-- === RUN === -->
               <!-- =========== -->
               <target name="start.jboss" depends="declare.jbpm.tasks">
               <startjboss configuration="jbpm" />
               </target>
              
               <target name="stop.jboss" depends="declare.jbpm.tasks">
               <exec dir="${jboss.home}/bin"
               executable="shutdown.bat"
               os="Windows XP, Windows 95, Windows 98, Windows 2000, Windows NT" >
               <arg line="-S" />
               </exec>
               </target>
              
              
               <target name="db.clean">
               <delete dir="build/db" />
               <mkdir dir="build/db" />
               </target>
              
              
               <!-- ================= -->
               <!-- TASK DECLARATIONS -->
               <!-- ================= -->
               <target name="declare.jbpm.tasks">
               <ant antfile="build.xml" target="build" />
               <taskdef file="src/java.jbpm/org/jbpm/ant/jbpm.ant.tasks.properties" format="properties">
               <classpath refid="classpath.ant" />
               </taskdef>
               </target>
              
              </project>
              
              
              you need to change path of the mysqlconnector jar file in the build.deploy.xml .give your system specific path(where you have kept the jar)
              
              Note - start the mysql database before you run the script
              
              


              1 2 Previous Next