serviceData = getServiceSession().getServiceConfiguration(intAdmin, timerInfo);
serviceData = getServiceSession().getServiceConfiguration(intAdmin, timerInfo.intValue());
	public void ejbTimeout(Timer timer) {		Integer timerInfo = (Integer) timer.getInfo();				ServiceConfiguration serviceData = null;		IWorker worker = null;		String serviceName = null;		boolean run = false;		try{		  UserTransaction ut = getSessionContext().getUserTransaction();		  ut.begin();	      serviceData = getServiceSession().getServiceConfiguration(intAdmin, timerInfo);	      if(serviceData != null){	    	  serviceName = getServiceSession().getServiceName(intAdmin, timerInfo.intValue());		      worker = getWorker(serviceData,serviceName);	      	  Date nextRunDate = serviceData.getNextRunTimestamp();	      	  Date currentDate = new Date();	      	  if(currentDate.after(nextRunDate)){	      		  nextRunDate = new Date(currentDate.getTime() + worker.getNextInterval());	      		  serviceData.setNextRunTimestamp(nextRunDate);	      		  run=true;	      	  }         	      	  	      }	      ut.commit();		}catch(NotSupportedException e){			log.error(e);		} catch (SystemException e) {			log.error(e);		} catch (SecurityException e) {			log.error(e);		} catch (IllegalStateException e) {			log.error(e);		} catch (RollbackException e) {			log.error(e);		} catch (HeuristicMixedException e) {			log.error(e);		} catch (HeuristicRollbackException e) {			log.error(e);		}	      		if(run){			if(serviceData != null){				try{					if(serviceData.isActive() && worker.getNextInterval() != IInterval.DONT_EXECUTE){						getSessionContext().getTimerService().createTimer(worker.getNextInterval()*1000, timerInfo);						worker.work();			  													getLogSession().log(intAdmin, intAdmin.getCaId(), LogEntry.MODULE_SERVICES, new java.util.Date(), null, null, LogEntry.EVENT_INFO_SERVICEEXECUTED, intres.getLocalizedMessage("services.serviceexecuted", serviceName));					}				}catch (ServiceExecutionFailedException e) {					getLogSession().log(intAdmin, intAdmin.getCaId(), LogEntry.MODULE_SERVICES, new java.util.Date(), null, null, LogEntry.EVENT_ERROR_SERVICEEXECUTED, intres.getLocalizedMessage("services.serviceexecutionfailed", serviceName));				}			} else {				getLogSession().log(intAdmin, intAdmin.getCaId(), LogEntry.MODULE_SERVICES, new java.util.Date(), null, null, LogEntry.EVENT_ERROR_SERVICEEXECUTED, intres.getLocalizedMessage("services.servicenotfound", timerInfo));			} 		}else{			getLogSession().log(intAdmin, intAdmin.getCaId(), LogEntry.MODULE_SERVICES, new java.util.Date(), null, null, LogEntry.EVENT_INFO_SERVICEEXECUTED, intres.getLocalizedMessage("services.servicerunonothernode", timerInfo));		}	}    