报错信息:
信息: exception while executing command org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd@14b2263
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:424)
at java.lang.Long.parseLong(Long.java:461)
at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:48)
at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:33)
at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
at org.jbpm.pvm.internal.svc.TaskServiceImpl.setVariables(TaskServiceImpl.java:200)
at com.jbpm.managerimpl.JbpmManagerImpl.complate(JbpmManagerImpl.java:64)
at com.jbpm.action.JbpmAction.submit(JbpmAction.java:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
根据提示报错的两个地方如下:
public void complate(String taskId, Map<String, Object> map) {
taskService.setVariables(taskId, map);
taskService.completeTask(taskId);
}
public String submit() { String day = processDto.getDay();
map = new HashMap<String, Object>(); if ("" != day || null != day) {
map.put("day", Integer.parseInt(day)); } else {
map.put("day", Integer.parseInt("0"));
}
map.put("day", processDto.getDay()); map.put("owner", processDto.getOwner());
map.put("reason", processDto.getReason());
map.put("name", processDto.getOwner());
jbpmManager.complate(processDto.getTaskId(), map); return SUCCESS;
}Java异常String对象
信息: exception while executing command org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd@14b2263
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:424)
at java.lang.Long.parseLong(Long.java:461)
at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:48)
at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:33)
at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
at org.jbpm.pvm.internal.svc.TaskServiceImpl.setVariables(TaskServiceImpl.java:200)
at com.jbpm.managerimpl.JbpmManagerImpl.complate(JbpmManagerImpl.java:64)
at com.jbpm.action.JbpmAction.submit(JbpmAction.java:123)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
根据提示报错的两个地方如下:
public void complate(String taskId, Map<String, Object> map) {
taskService.setVariables(taskId, map);
taskService.completeTask(taskId);
}
public String submit() { String day = processDto.getDay();
map = new HashMap<String, Object>(); if ("" != day || null != day) {
map.put("day", Integer.parseInt(day)); } else {
map.put("day", Integer.parseInt("0"));
}
map.put("day", processDto.getDay()); map.put("owner", processDto.getOwner());
map.put("reason", processDto.getReason());
map.put("name", processDto.getOwner());
jbpmManager.complate(processDto.getTaskId(), map); return SUCCESS;
}Java异常String对象
这一句就是多余的,你又绕回去了。
map.put("day", processDto.getDay());
这句拿掉了还是报一样的错。
信息: exception while executing command org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd@1584be7
java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Long.parseLong(Long.java:424)
at java.lang.Long.parseLong(Long.java:461)
at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:48)
at org.jbpm.pvm.internal.cmd.SetTaskVariablesCmd.execute(SetTaskVariablesCmd.java:33)
at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42)
at org.jbpm.pvm.internal.tx.SpringCommandCallback.doInTransaction(SpringCommandCallback.java:45)
at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:49)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.executeInNewEnvironment(EnvironmentInterceptor.java:53)
at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:40)
at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:56)
at org.jbpm.pvm.internal.svc.TaskServiceImpl.setVariables(TaskServiceImpl.java:200)
at com.jbpm.managerimpl.JbpmManagerImpl.complate(JbpmManagerImpl.java:64)
at com.jbpm.action.JbpmAction.submit(JbpmAction.java:122)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
taskService.setVariables(taskId, map);
jbpmManager.complate(processDto.getTaskId(), map);
没有了,整个项目就day这里写了
if (day!=null && !day.equals(""))
这个也不行,还是一样的报错
这个试了下,也不行不知道什么稀奇古怪的错误
map.put("day", Integer.parseInt(day));
} else {
map.put("day", Integer.parseInt("0"));
}
map.put("day", processDto.getDay());
红色部分和黄色部分重复,而且建议判断字符串为空或"",使用StringUtil.isEmpty(String)或者StringUtil.isBlank(String)