I have no particular Java knowledge whatsoever. We are running an opensource application which is mainly written in Java. Internet connection dropped while I was editing a job (this is some sort of a translation project management tool) and I cannot open the job anymore.
I checked the database to see if anything is wrong there and all looks fine (I compared values to a working job). Then I logged in to the server and checked logs and seems like this application may be relying on some data which is stored somewhere other than the database.
The log contains tons of lines but I guess this is the one that provides the hint:
ERROR;com.globalsight.everest.workflow.WorkflowProcessAdapter;There is error in create the workflowinstance for the process instance id 54
java.lang.IllegalArgumentException: the userrole value cannot be null
Looks like userrole got messed up while the connection dropped. Now that userrole is not assigned anywhere in the database. I thought I will browse the source files to see where it may be coming from but I am not able to find those. For instance, an exception line says :
com.globalsight.everest.taskmanager.TaskManagerLocal.acceptTask(TaskManagerLocal.java:165)
I browse to that localization and there is a TaskManagerLocal folder there but it is empty. I assume this is compiled in the jar file (right?). Can somebody with Java knowledge shed a light as to how I can dig and find where userrole may be saved and bring by application back up?
Many thanks in advance
If the project is open source, the code may be packaged inside the JAR file. This is not always the case, as the actual code that is run from the JAR is in compiled bytecode form.
You could try unzipping the JAR using:
jar -xvf the_jar_file.jar
This will create a number of directories/files which may include a src directory. If not, the source is probably not included in the JAR in its un-compiled form, in which case you’d have to download the source from the project site.