[jbpm-dev] [Design of JBoss jBPM] - configuration phase 2

tom.baeyens@jboss.com do-not-reply at jboss.com
Fri Apr 10 09:42:40 EDT 2009


building the config tool i realized that i didn't fully tackled the problem.   users are still confronted with all the jbpm configuration files.  and this will be a pain when we want to update configuration stuff in subsequent versions.

The original goal motivation for building the config tool was to offer a basic set of configuration options.  Only the configurations that are changeable by our users.

These are the configuration properties that the config tool takes as input:

database=hsqldb
  | cache=hashtable
  | connection.type=jdbc
  | deployment.type=standalone
  | hibernate.session=default
  | jpdl=include
  | identity=include
  | format.sql=include
  | log.cfg=logging.properties
  | 

Bindings in our parsing are easy to customize.  But most of these user-changeable properties impacts various contexts in the jbpm config file.  For example, to include the identity, we need to add some parts to the process engine context and some parts to the transaction context.

<jbpm-configuration>
  |   <process-engine-context>
  |     <identity-service />
  |     <identity-session-factory resource="jbpm.identity.cfg.xml" />
  |     ...
  |   </process-engine-context>
  |   <transaction-context>
  |     <identity-session  />
  |     ...
  |   </transaction-context>
  | </jbpm-configuration>

In the next step of configuration i would like to achieve 2 goals:

* create a jbpm.cfg.xml that reflects the properties that we want to expose for support users to change

* avoid default configurations in the jbpm.cfg.xml so that it becomes easier to update configurations later on.

I think this is possible with following approach
1) adding import of jbpm.cfg.xml files
2) provide a lot of default configuration files in the jbpm jars.

For example with imports we a user would have to configure the identity component like this:

<jbpm-configuration>
  |   <import resource="jbpm.identity.buildin.cfg.xml" />
  |   ...
  | </jbpm-configuration>

or

<jbpm-configuration>
  |   <import resource="jbpm.identity.jboss.idm.cfg.xml" />
  |   ...
  | </jbpm-configuration>

and the refered files like 

<jbpm-configuration>
  |   <process-engine-context>
  |     <identity-service />
  |     <identity-session-factory resource="jbpm.identity.cfg.xml" />
  |   </process-engine-context>
  |   <transaction-context>
  |     <identity-session  />
  |   </transaction-context>
  | </jbpm-configuration>

can then be provided in the jars we ship.

thoughts ?

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4224894#4224894

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4224894



More information about the jbpm-dev mailing list