What does
audittrail.log.CreateLog.<init>(CreateLog.java:36)
do? I mean, what does this line of code (line 36) do exactly? Can you post some code?
Edit to respond to extra answer by Karol: You're getting a nullpointer because you're executing it from an environment where there is no user. To be exact:
this.userObject = this.context.getSession().getUser()
returns null, because a scheduled event has no user. So when you try calling getMendixObject() on that it will cause a nullpointer, which in turn causes your stacktrace.
I don't really understand why your scheduled event isn't working. But i can help you with your eclipse problem.
The reason why eclipse gives that message while debugging is because the modeler/XAS has compiled your code. Eclipse can only understand his own compiled code.
The workaround is, start your project from eclipse as usual. But before you execute your flow, you have to clean your project ( menu item project / clean ). This triggers eclipse to re-compile all java.
This way eclipse is the last one who compiled your action and you can debug it as usual.
usually when I run the microflow/java-action via button and get to the commit line in eclipse and select 'step over' (F6) it continues on to the next line of code - when debugging the scheduled event it doesnt continue on to the next line of code but steps through the line - going through thread[pool-3-thread#] ... kind of gets stuck somewhere there
I also get this stack trace in the consol log:
this.userObject = this.context.getSession().getUser().getMendixObject();
its in the constructor:
public CreateLog(IMendixObject inputObject, IMendixObject logObject, IContext context){
this.inputObject = inputObject;
this.logObject = logObject;
this.context = context;
this.userObject = this.context.getSession().getUser().getMendixObject();
logObject.setValue(this.context, Log.MemberNames.DateTime.toString(), new Date());
logObject.setValue(this.context, Log.MemberNames.Time.toString(), this.parseTime(new Date()));
logObject.setValue(this.context, Log.MemberNames.LogObject.toString(), inputObject.getType());
logObject.setValue(this.context, Log.MemberNames.Log_User.toString(), userObject.getId());
logObject.setValue(this.context, Log.MemberNames.ObjectID.toString(), ""+ inputObject.getId().getObjectStoreId());
}