7 Replies Latest reply on Feb 12, 2006 6:06 PM by Veronica Ballarta

    Build.deploy.xml.

    Veronica Ballarta Newbie

      Hi! I run Build.deploy.xml. i have this
      create table JBPM_ACTION (ID_ bigint generated by default as identity (start with 1), class char(1) not null, NAME_ varchar(255), ISPROPAGATIONALLOWED_ bit, REFERENCEDACTION_ bigint, ACTIONDELEGATION_ bigint, EVENT_ bigint, PROCESSDEFINITION_ bigint, EXPRESSION_ varchar(4000), TIMERNAME_ varchar(255), DUEDATE_ varchar(255), REPEAT_ varchar(255), TRANSITIONNAME_ varchar(255), TIMERACTION_ bigint, EVENTINDEX_ integer, EXCEPTIONHANDLER_ bigint, EXCEPTIONHANDLERINDEX_ integer, primary key (ID_))
      [jbpmschema] create table JBPM_BYTEARRAY (ID_ bigint generated by default as identity (start with 1), NAME_ varchar(255), FILEDEFINITION_ bigint, primary key (ID_)),etc

      But when i see in my HSQLDB i don't have the tables that are supossed created somebody knows Why?? please help me

        • 1. Re: Build.deploy.xml.
          Alejandro Guizar Master

          I assume you ran the default target, create.jbpm.configuration. This target builds the jBPM web app and the service, and creates a new JBoss configuration including these modules and some other required components from the default JBoss configuration. After that it runs JBoss using the new configuration, creates the tables in JBoss' default datasource and deploys a process in there. Finally it stops JBoss.

          If you want your tables created in a different database, specify the creation-time connection properties in the file src/resources/hsqldb/create.db.hibernate.properties of your jBPM installation. You also need to modify the runtime connection properties, found in build.xml, target build.service.archive.

          • 2. Re: Build.deploy.xml.
            boerse scholz Newbie

            hi, is it possible to load a new configuration without deleting the existing tables? I mean, if you model a process and it's ok, and then you add another process to the system, you'll have to make jBPM to create automatically the new tables, can this be done without (logically) deleting the operating data of the other process? (and how). Thanks...

            • 3. Re: Build.deploy.xml.
              Koen Aers Master

              There is no need to recreate the schema of the database each time you deploy a process definition. Use the deploypar task to deploy processes, it won't delete any tables...

              Regards,
              Koen

              • 4. Re: Build.deploy.xml.
                boerse scholz Newbie

                Hi

                but if i only deploy a par (i'm new with this so sorry for the mistake i'll probably make) the system won't create the data-bases definitions to support the new system i do that'll add to my system (in paralell with the existing). In other words: if i model process A and i add B, in order to save the data of process B the configuration will have to create the new tables and that can only be done (maybe i'm wrong here) if i do delete all the tables. Otherwise i don't know how to do it. Thank you.

                • 5. Re: Build.deploy.xml.
                  Veronica Ballarta Newbie


                  Hi i 've this in the build.deploy.xml..so where i have to change..there are some documentacion of these ? ...please help

                  target name="create.db" depends="declare.jbpm.tasks, db.clean, db.start" description="creates a hypersonic database with the jbpm tables and loads the processes in there">
                  jbpmschema actions="create" properties="${basedir}/src/resources/hsqldb/create.db.hibernate.properties"/>
                  loadidentities file="${basedir}/src/resources/hsqldb/identity.db.xml" properties="${basedir}/src/resources/hsqldb/create.db.hibernate.properties"/>
                  ant antfile="build.xml" target="build.processes" inheritall="false" />
                  deploypar properties="${basedir}/src/resources/hsqldb/create.db.hibernate.properties">
                  fileset dir="build" includes="*.par" />
                  /deploypar>
                  antcall target="db.stop" />
                  /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/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" />
                  /fileset>
                  /copy>
                  !-- copy the prefabricated resources -->
                  copy todir="${jboss.home}/server/jbpm" overwrite="true">
                  fileset dir="src/resources/jboss-${jboss.version}" />
                  /copy>
                  !-- deploy the jbpm service archive -->
                  ant antfile="build.xml" target="build" inheritall="false" />


                  !-- deploy the jbpm web application -->
                  antcall target="build.webapp" />
                  copy todir="${jboss.home}/server/jbpm/deploy" file="build/jbpm.war" />
                  mkdir dir="${jboss.home}/server/jbpm/deploy/jbpm.sar" />
                  unzip src="build/jbpm.sar" dest="${jboss.home}/server/jbpm/deploy/jbpm.sar" />
                  !-- copy the jbpm database -->
                  mkdir dir="${jboss.home}/server/jbpm/data/hypersonic" />
                  copy todir="${jboss.home}/server/jbpm/data/hypersonic">
                  fileset dir="build/db" />
                  /copy>
                  /target>








                  • 6. Re: Build.deploy.xml.
                    Alejandro Guizar Master

                    From src/resources/hsqldb/create.db.hibernate.properties:

                    # these properties are used by the build script to create
                    # a hypersonic database in the build/db directory that contains
                    # the jbpm tables and a process deployed in there
                    
                    hibernate.dialect=org.hibernate.dialect.HSQLDialect
                    hibernate.connection.driver_class=org.hsqldb.jdbcDriver
                    hibernate.connection.url=jdbc:hsqldb:hsql://localhost:1701
                    hibernate.connection.username=sa
                    hibernate.connection.password=
                    hibernate.show_sql=true

                    These settings will be used to create the jBPM tables and deploy the sample process.

                    From build.xml, target build.service.archive:
                    <target name="build.service.archive" ...>
                     [...]
                     <replace file="build/jbpm.sar.cfg.jar.dir/hibernate.cfg.xml">
                     <replacetoken><![CDATA[
                     <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
                     <property name="hibernate.connection.driver_class">org.hsqldb.jdbcDriver</property>
                     <property name="hibernate.connection.url">jdbc:hsqldb:mem:.;sql.enforce_strict_size=true</property>
                     <property name="hibernate.connection.username">sa</property>
                     <property name="hibernate.connection.password"></property>]]>
                     </replacetoken>
                     <replacevalue><![CDATA[
                     <property name="hibernate.dialect">org.hibernate.dialect.HSQLDialect</property>
                     <property name="hibernate.connection.datasource">java:/DefaultDS</property>]]>
                     </replacevalue>
                     </replace>
                     ...
                     </target>

                    The properties in the text content of the replacevalue element will be used by jBPM to create instances of existing processes and to deploy new processes.

                    • 7. Re: Build.deploy.xml.
                      Veronica Ballarta Newbie

                      OK..thanks i solved my problem..now i have working websale example....and if i like to do some modifications in the workflow of websale how can i start how can modify at least the image...??