Batch Processor not running startup method

Hi all,

I am having a problem getting a batch processor to work using servoy 3.5.10 i5-build 524.

To troubleshoot a more complex batch processor, I set up a very simple processor with no arguments.

The global startup method is simply:

theFoundset = databaseManager.getFoundSet(currentcontroller.getServerName(), 'batchprocessor_test');
theFoundset.find();
theFoundset.pk_batchprocessor_test_id = 1;
theFoundset.search();
theFoundset.test = "Testing batch processor";
databaseManager.saveData();

When I run a normal client the field test is updated, when I run the batch processor, the field is not updated, there are no errors in the log and the Clients section of the server administrator page shows that a Servoy Headless Client is connected. Why isn’t the startup method being executed? Could this be a bug in the servoy version, or could there be something wrong with my solution or server settings that would cause this?

Thanks,
-Jeremy

batchprocessors should run you solution start up method just fine.
If you add log statements (application.output) are you really not getting any output when starting (or restarting the batch client on the server)?

I wasn’t aware you could see the results of an application.output() call executed by a headless client. Where should I check for this?
Thanks.

in the servoy log, you can now also say which log level you want to use.

Which servoy log? It’s not on the servoy server administratons server log. Do I need to check the text file servoy_log.txt on the physical server machine? It’s a remote machine and not immediately accessible but will try to set something up as soon as possible.

I would think something as simple as setting a field through a foundset should work if the batchprocessor is running, are there variables involved that might cause those steps to not work through a headless client, even though it’s running the startup method? That’s the bigger issue, why isn’t my headless client executing method steps. I ultimately would like to schedule a cron Job.

the server log should log this, or also on the adming pages you should see this (if you use the good log levels, use for example ERROR)

Thanks Johan,

application.output(“Testing batchprocessor”) is the first line in the startup method, and after stopping and starting the batch processor, nothing is showing in any log. ERROR log is empty as well as all others. The batch processor must not be running the startup method for some reason. On the clients section of the server admin page, it does show a headless client connected. Why would it be connected but not running the startup method and not reporting any error?

you could try:

application.output(“Testing batchprocessor”, LOGGINGLEVEL.LOGLEVEL_ERROR);

to be sure that it really outputs to the log.

For the rest i have no idea, make a case with that batch processor solution so that we can look

Thanks Johan,

Now getting two error messages in the log:

2010-08-24 15:11 BatchProcess: ERROR com.servoy.j2db.util.Debug Throwable
java.lang.NullPointerException
at com.ddc.plugins.busy.BusyPlugin.initialize(BusyPlugin.java:25)
at com.servoy.j2db.plugins.PluginManager.initClientPlugins(Unknown Source)
at com.servoy.j2db.server.headlessclient.h.g(Unknown Source)
at com.servoy.j2db.ClientState.applicationInit(Unknown Source)
at com.servoy.j2db.server.headlessclient.h.(Unknown Source)
at com.servoy.j2db.server.headlessclient.HeadlessClientFactory.createSessionBean(Unknown Source)
at com.servoy.j2db.server.a$a.new(Unknown Source)
at com.servoy.j2db.server.a$1.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

BatchProcess: ERROR com.servoy.j2db.util.Debug Error ocured unloading plugin: busy , error: null

I think this may be a new error related to recently removing swingbeans.jar from the plugins and not the cause of the original error. We are also running IT2BE third party plugins, so I’ll troubleshoot all third party tools first and get back to you with a solution if we are still having the issue.

Thanks again,
-Jeremy

because you use servoy 3.5 plugins that are not working property in there initialize code can prevent the batch processor from starting completely

remove that plugin (or contact the maker to fix it)

or move to one of the later version of servoy. Then a plugin that doesnt play nice will only not be loaded but will not bring the rest down.

Note that com.ddc.plugins.busy is not the one that you can find on ServoyForge…
You must have a very old version here!

For 3.5, I would recommend using this one: http://www.servoyforge.net/attachments/download/42/old_busy.jar

Thanks Patrick and Johan,

My contact administrating the server machine has removed all problematic plugIns. We are back to not seeing anything reported in the server admin logs when running a batch processor nor is there any evidence that a method step is being run by the batch processor.

I will attempt to migrate the solution to a servoy 4 environment and see if I can get a batch processor working there. If not I will try to prepare a sample solution and submit it.

-Jeremy