Hola: Quisiera que me ayudaran lo antes posible por favor que estoy atrazado con este trabajo. Como podria ejecutar un kitchen.bat desde una aplicacion web con struts 2. Se los agradeceria. Gracias
Hola Antonio. ¿Por qué deseas lanzar kitchen.bat desde código Java? Supongo que tu intención no es otra que la de ejecutar una transformación de Kettle. En ese caso, existe una opción mejor, utilizar el API Java que proporciona Pentaho.
puedes encontrar el siguiente código para invocar una transformación dada su ruta de acceso en disco:
public static void runTransformation(String filename) {
try {
StepLoader.init();
EnvUtil.environmentInit();
TransMeta transMeta = new TransMeta(filename);
Trans trans = new Trans(transMeta);
trans.execute(null); // You can pass arguments instead of null.
trans.waitUntilFinished();
if ( trans.getErrors() > 0 )
{
throw new RuntimeException( "There were errors during transformation execution." );
}
}
catch ( KettleException e ) {
// TODO Put your exception-handling code here.
System.out.println(e);
}
}
Desafortunadamente no encontrarás mucha documentación sobre el API y tendrás que "buscarte la vida" si quieres cosas más avanzadas.
Muchas gracias por habeme respondido. En si es lo que me dices, pero a aparte de ejecutar la transformacion como podria ejecutar un job que contengan otros job.
gracias
Puedes utilizar la clase Runtime de Java para ejecutar un archivo externo, pero te recomiendo ejecutar utilizando la clase org.pentaho.di.kitchen.Kitchen, solo debes asegurarte que están en el classpath las diferentes librerías, pueden verlo de manera super sencilla en el mismo .bat.