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
                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:
                  4 years, 12 weeks, 5 days ago

                  Packages

                  Version Package
                  7.0.0 M3