Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-56613

SchedulerEngine fails to schedule job if scheduler-event-listener-class value is very long

    Details

      Description

      In Liferay Connected Services in osb-lcs-portlet we have decalred three scheduled listeners:

      <scheduler-entry>
      			<scheduler-event-listener-class&gt;com.liferay.osb.lcs.notifications.messaging.ReorganizeLCSDealsServersUsedMessageListener</scheduler-event-listener-class&gt;
      			<trigger>
      				<simple>
      					<simple-trigger-value>1</simple-trigger-value>
      					<time-unit>minute</time-unit>
      				</simple>
      			</trigger>
      		</scheduler-entry>
      		<scheduler-entry>
      			<scheduler-event-listener-class&gt;com.liferay.osb.lcs.notifications.messaging.CheckStaleLCSRolesMessageListener</scheduler-event-listener-class&gt;
      			<trigger>
      				<simple>
      					<simple-trigger-value>1</simple-trigger-value>
      					<time-unit>minute</time-unit>
      				</simple>
      			</trigger>
      		</scheduler-entry>
      		<scheduler-entry>
      			<scheduler-event-listener-class&gt;com.liferay.osb.lcs.notifications.messaging.CheckStaleLCSInvitationsMessageListener</scheduler-event-listener-class&gt;
      			<trigger>
      				<simple>
      					<simple-trigger-value>1</simple-trigger-value>
      					<time-unit>minute</time-unit>
      				</simple>
      			</trigger>
      		</scheduler-entry>
      

      Just one listener is being scheduled properly:

      com.liferay.osb.lcs.notifications.messaging.CheckStaleLCSRolesMessageListener
      

      Other two listeners are never invoked.
      If listeners:

      com.liferay.osb.lcs.notifications.messaging.CheckStaleLCSInvitationsMessageListener
      com.liferay.osb.lcs.notifications.messaging.ReorganizeLCSDealsServersUsedMessageListener
      

      are renamed to shorter class name, they are properly scheduled and working as expected.
      HINT: I went through code and got impression that if listener name is too long,

      com.liferay.portal.kernel.messaging.proxy.ProxyMessageListener

      receives ProxyRequest wrongly configured in payload, instead of schedule method, it invokes toString method on QuartzSchedulerEngine.
      Please be aware that there is chance I wrongly interpreted my stack state while debugging.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              michael.han Michael Han (Inactive)
              Reporter:
              igor.beslic Igor Beslic
              Participants of an Issue:
              Recent user:
              Esther Sanz
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Days since last comment:
                6 years, 17 weeks, 3 days ago

                  Packages

                  Version Package
                  7.0.0 M3