Я хочу разработать процесс jbpm для системы онлайн-бронирования авиакомпаний. в качестве первого шага я пытаюсь выполнить процесс регистрации путешественника, где пользователь зарегистрирует свои данные. когда они пытаются зарегистрировать его, вместо этого он должен хранить пользовательские данные в БД в другой таблице.
процесс, который я создал.
Начальный узел -> форма путешественника -> задача регистрации -> конец
Я создал таблицу с именем ARS_traveller в базе данных h2 в общедоступной схеме.
в пользовательском обработчике рабочего элемента я дал, как показано ниже, но он прошел через ошибку, так как таблица не найдена. пожалуйста, предложите правильную процедуру подключения к базе данных и таблицам.
@Override
public void abortWorkItem(WorkItem arg0, WorkItemManager arg1) {
// TODO Auto-generated method stub
}
@Override
public void executeWorkItem(WorkItem workItem, WorkItemManager manager) {
Context ctx;
try {
System.out.println("*********From direct connection**************");
Connection conn = this.getDirectConnection();
conn.setAutoCommit(true);
PreparedStatement stmt = conn
.prepareStatement("INSERT INTO ARS_TRAVELLER(NAME,EMAIL,USER_ID,PASSWORD,GENDER,"
+ "AGE,MOBILE_NO,ADDRESS,CREATED_ON,UNIQUECODE,VERIFIED) VALUES(?,?,?,?,?,?,?,?,?,?,?)");
stmt.setString(0, workItem.getParameter("Name").toString());
stmt.setString(1, workItem.getParameter("Email").toString());
stmt.setString(2, workItem.getParameter("UserId").toString());
stmt.setString(3, workItem.getParameter("Password").toString());
stmt.setString(4, workItem.getParameter("Gender").toString());
stmt.setInt(5,
Integer.parseInt(workItem.getParameter("Age").toString()));
stmt.setString(6, workItem.getParameter("MobileNo").toString());
stmt.setString(7, workItem.getParameter("Address").toString());
stmt.setDate(8, new Date((new java.util.Date()).getTime()));
stmt.setString(9, ((new java.util.Date()).getTime() + ""));
stmt.setBoolean(10, false);
stmt.execute();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
manager.completeWorkItem(workItem.getId(), null);
}
private Connection getDirectConnection() {
Connection conn = null;
try {
String url = "jdbc:h2:mem:test;DB_CLOSE_DELAY=-1";
Class.forName("org.h2.Driver");
conn = DriverManager.getConnection(url, "sa", "sa");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
// TODO: handle exception
}
return conn;
}