Hola...
Te explico lo q hace la aplicación (Netbeans), el programa debe estar siempre corriendo y revisando en un directorio la existencia de un archivo, cada vez q encuentre algo, se conecta a un servidor donde tengo otra aplicación(JBuilder), realiza una consulta y con el resultado manda a ejecutar otra aplicación (NetBeans).
en el main: frmprincipal.GetInstance().setVisible(true); es una pantalla q tiene dos botones:Iniciar y Detener... Al hacer click en Iniciar -> hilo.start().
en el metodo run:
while (true) {
LeerArchivo a=new LeerArchivo();
encontrado=a.isEncontrado();
if (encontrado) {
valor = a.getValor();
pos = valor.indexOf(".");
if (pos > 0) {
Long id_odt = new Long(valor.substring(0, pos));
try {
Conexion con1 = new Conexion();
Context c = con1.Conectar(ServidorProcesosProp.INITIAL_CONTEXT_FACTORY_VALUE, ServidorProcesosProp.URL_PKG_PREFIXES_VALUE);
Object result1 = c.lookup("ManejarCubo");
ManejarCuboHome home1 = (ManejarCuboHome) javax.rmi.PortableRemoteObject.narrow(result1, ManejarCuboHome.class);
ManejarCubo accionesCubo = home1.create();
CuboOdtData odt = accionesCubo.consultarOdtCubo(id_odt);
param = odt.getC_ruta_exe() + " " + odt.getId_odt().toString();
con1.Desconectar(c);
}
catch (NamingException ex) {
LOG.addAppender(appender);
LOG.error("ServidorProceso: " + ObtenerFecha.ObtenerFechaHoraDelSistemaATimestamp().toString() + " " + ex.getMessage());
}
try {
Runtime obj = Runtime.getRuntime();
Process proc = obj.exec(param);
}
catch (Exception e) {
LOG.addAppender(appender);
LOG.error("ServidorProceso: " + ObtenerFecha.ObtenerFechaHoraDelSistemaATimestamp().toString() + " " + e.getMessage());
}
BorrarArchivo b=new BorrarArchivo(valor);
valor = "";
}
System.out.print("Hilo ejecutandose");
}
}
el punto es q a pesar de no encontrar ningun archivo se consume el 100% del uso del cpu...
Gracias de antemano....