producerJobQueue = new JobQueue();
try {
RandomAccessFile raFile = (new RandomAccessFile(MirGlobal.getConfigProperty("Home") + "/" + MirGlobal.getConfigProperty("Producer.Logfile"), "rw"));
- raFile.seek(raFile.length());
- log = new PrintWriter(new FileWriter( raFile.getFD()));
+ raFile.seek(raFile.length());
+ log = new PrintWriter(new FileWriter( raFile.getFD()));
}
catch (Exception e) {
// throw new ProducerEngineRuntimeExc("Creating PrintWriter log failed",e);
private void produceNow(String aProducerFactory, String aVerb, PrintWriter aLogger) {
try {
- long startTime;
- long endTime;
+ long startTime;
+ long endTime;
+ Map startingMap = new HashMap();
- startTime = System.currentTimeMillis();
+ startTime = System.currentTimeMillis();
aLogger.println("Producing (" + aProducerFactory + "," + aVerb + ")");
if (factory == null )
throw new Exception("No producer factory '"+aProducerFactory+"' present.");
- Producer producer = factory.makeProducer(aVerb);
+ MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(startingMap);
+ Producer producer = factory.makeProducer(aVerb, startingMap);
producer.produce(aLogger);
- endTime = System.currentTimeMillis();
+ endTime = System.currentTimeMillis();
- aLogger.println("Time: " + (endTime-startTime) + " ms<br>");
+ aLogger.println("Time: " + (endTime-startTime) + " ms<br>");
}
catch (Throwable e) {
try {
public void execute() {
ProducerFactory factory;
Producer producer;
- long startTime;
- long endTime;
+ long startTime;
+ long endTime;
+ Map startingMap = new HashMap();
- startTime = System.currentTimeMillis();
+ startTime = System.currentTimeMillis();
log.println("Producing job: "+factoryName+"."+verb);
try {
factory = (ProducerFactory) MirGlobal.localizer().producers().factories().get( factoryName );
if (factory!=null) {
+ MirGlobal.localizer().producerAssistant().initializeGenerationValueSet(startingMap);
+
synchronized(factory) {
- producer = factory.makeProducer(verb);
+ producer = factory.makeProducer(verb, startingMap);
}
if (producer!=null) {
producer.produce(log);
t.printStackTrace(log);
}
log.println("Done producing job: "+factoryName+"."+verb);
- endTime = System.currentTimeMillis();
+ endTime = System.currentTimeMillis();
- log.println("Time: " + (endTime-startTime) + " ms");
- log.flush();
+ log.println("Time: " + (endTime-startTime) + " ms");
+ log.flush();
}
}