Uploaded image for project: 'jBPM'
  1. jBPM
  2. JBPM-4273

NullPointerException using Notifications in a User Task

    Details

    • Steps to Reproduce:
      Hide

      Create a process with a User Task. For the user task, do the following:

      1. Expand properties
      2. Open notifications property
      3. Configure the following parameters:
      • Type = not-started
      • Expires At = 0
      • From = <user with admin role>
      • To Users = <user with user role> or To Groups = <user role> (leave other blank)
      • Reply To = <same user as From>
      • Subject = New Task
      • Body = Please complete your task
      Show
      Create a process with a User Task. For the user task, do the following: Expand properties Open notifications property Configure the following parameters: Type = not-started Expires At = 0 From = <user with admin role> To Users = <user with user role> or To Groups = <user role> (leave other blank) Reply To = <same user as From> Subject = New Task Body = Please complete your task

      Description

      I'm seeing an NPE when my process reaches a User Task that is configured to send a notification email. Stacktrace:

      14:16:41,868 ERROR [org.jbpm.services.task.commands.ExecuteDeadlinesCommand] (pool-19-thread-1) Error when executing deadlines: java.lang.NullPointerException
      at org.jbpm.services.task.deadlines.notifications.impl.email.EmailNotificationListener.buildMapByLanguage(EmailNotificationListener.java:220) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.services.task.deadlines.notifications.impl.email.EmailNotificationListener.onNotification(EmailNotificationListener.java:87) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.services.task.commands.ExecuteDeadlinesCommand.execute(ExecuteDeadlinesCommand.java:140) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.services.task.commands.ExecuteDeadlinesCommand.execute(ExecuteDeadlinesCommand.java:41) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.services.task.commands.TaskCommandExecutorImpl$SelfExecutionCommandService.execute(TaskCommandExecutorImpl.java:65) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41) [drools-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.services.task.persistence.TaskTransactionInterceptor.execute(TaskTransactionInterceptor.java:54) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.services.task.commands.TaskCommandExecutorImpl.execute(TaskCommandExecutorImpl.java:40) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.services.task.impl.TaskDeadlinesServiceImpl$TaskDeadlineJob.execute(TaskDeadlinesServiceImpl.java:307) [jbpm-human-task-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.core.time.SelfRemovalJob.execute(SelfRemovalJob.java:19) [drools-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.core.time.impl.DefaultTimerJobInstance.call(DefaultTimerJobInstance.java:54) [drools-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.persistence.jpa.JpaTimerJobInstance.internalCall(JpaTimerJobInstance.java:43) [drools-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.persistence.jpa.JDKCallableJobCommand.execute(JDKCallableJobCommand.java:20) [drools-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.persistence.jpa.JDKCallableJobCommand.execute(JDKCallableJobCommand.java:6) [drools-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.core.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36) [drools-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41) [drools-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.persistence.SingleSessionCommandService$TransactionInterceptor.execute(SingleSessionCommandService.java:527) [drools-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41) [drools-core-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.persistence.jpa.OptimisticLockRetryInterceptor.execute(OptimisticLockRetryInterceptor.java:73) [drools-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:375) [drools-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.persistence.timer.GlobalJpaTimerJobInstance.call(GlobalJpaTimerJobInstance.java:62) [jbpm-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at org.jbpm.persistence.timer.GlobalJpaTimerJobInstance.call(GlobalJpaTimerJobInstance.java:42) [jbpm-persistence-jpa-6.0.2-redhat-2.jar:6.0.2-redhat-2]
      at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) [rt.jar:1.7.0_51]
      at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) [rt.jar:1.7.0_51]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
      at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                swiderski.maciej Maciej Swiderski
                Reporter:
                dvanbale David Van Balen
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: