You must run the bootstrapProcessServerData command
before you try to start or use the IBM® Business Process Manager server.
About this task
When you run the
bootstrapProcessServerData command,
configuration data for the BPM applications is loaded into the database.
This data is required for the BPM applications to run correctly
Note: This
command runs automatically when you create a stand-alone profile and
choose to create the database during profile creation.
- If you create a stand-alone profile and delay the database table
setup, you must run the bootstrap command after the database and its
tables have been created and before the server is started for the
first time.
- In a network deployment (ND) environment, you must run this command
after a server or cluster of servers is created. For a cluster,
you need to run the command only once, specifying a single cluster
member. Run this command after the database and its tables have been
created, after the profile and deployment environment have been created,
and before the first server is started. You do not need to rerun the
command if you add another cluster member.
Procedure
Run the bootstrap utility from the command line. The bootstrap
utility is found in the stand-alone or deployment manager profile
directory. For example:
- <install_root>/profiles/Dmgr01/bin
- C:\<install_root>\profiles\ProcCtr01/bin
Run the bootstrap utility using the following
syntax:
- bootstrapProcessServerData.sh [-dbJDBCClasspath classpath]
-clusterName cluster_name
- bootstrapProcessServerData.sh [-dbJDBCClasspath classpath]
-nodeName node_name -serverName server_name
- bootstrapProcessServerData.bat [-dbJDBCClasspath classpath]
-clusterName cluster_name
- bootstrapProcessServerData.bat [-dbJDBCClasspath classpath]
-nodeName node_name -serverName server_name
where:
- -dbJDBCClasspath is the location of the database
JDBC driver. The value specified for the dbJBBCClasspath must
be surrounded by quotation marks if there are spaces in the path.
The default location is WAS_INSTALL_ROOT/jdbcdrivers.
- -clusterName is the name of the application target
cluster. For an ND environment, you must specify either this parameter
or the -nodeName and -serverName parameters.
Do not specify for stand-alone.
- -nodeName is the name of the node. For an ND
environment, you must specify either this parameter and the -serverName parameter,
or the -clusterName parameter. Do not specify for
stand-alone.
- -serverName is the name of the server. For an
ND environment, you must specify either this parameter and the -nodeName parameter,
or the -clusterName parameter. Do not specify for
stand-alone.
The parameters are case-sensitive.
Results
You have loaded the database with system information prior
to successfully starting the Process Server or Process Center.
Important: For SQL Server, if
the bootstrap utility fails, check that when you created the Process
Server and Performance Data Warehouse databases, the
COLLATE attribute
indicated case insensitive (
CI), not case sensitive
(
CS). That is, the create command should look like
this:
CREATE DATABASE database_name COLLATE SQL_Latin1_General_CP1_CI_AS
Failure
to do so can result in an error like the following:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'message.routingCache'
defined in class path resource [registry.xml]: Instantiation of bean failed; nested exception is
org.springframework.beans.BeanInstantiationException: Could not instantiate bean class
[com.lombardisoftware.bpd.runtime.engine.message.DefaultMessageRoutingCache]: Constructor threw exception;
nested exception is org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback;
bad SQL grammar [select "value" from lsw_system where "key"=?]; nested exception is
com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'lsw_system'.
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'lsw_system'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:196)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1454)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:338)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:4026)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1416)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:185)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:160)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:281)
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:205)
at org.springframework.jdbc.core.JdbcTemplate$1.doInPreparedStatement(JdbcTemplate.java:648)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:591)
[...]
Example
Bootstrap data onto a server that is part of an ND environment
but not part of a cluster:
bootstrapProcessServerData -nodeName node01 -serverName server1
Bootstrap
data onto a cluster that hosts the Process Center or Process Server:
bootstrapProcessServerData -clusterName myAppCluster
Bootstrap
data onto the default stand-alone profile server:
bootstrapProcessServerData
Bootstrap
data onto the default stand-alone profile server with a custom JDBC
driver location:
bootstrapProcessServerData -dbJDBCClasspath c:/DB2/java
What to do next
You can start the stand-alone server or first cluster member.