Class missing error in log, java.lang.ClassNotFoundException: com.dotcms.enterprise.priv.DashboardJobImpl

49 views
Skip to first unread message

nickro...@gmail.com

unread,
Apr 30, 2014, 12:24:21 PM4/30/14
to dot...@googlegroups.com
I noticed in every instance of dotCMS 2.5.4 I've seen, the class "com.dotcms.enterprise.priv.DashboardJobImpl" doesn't exist and it's complaining about trying to remove a trigger for this class in the log. I figured this might be something that gets unlocked with a valid enterprise license, but even with that it still has the error and floods the log. Is this background noise I can ignore, or a sign of a bigger issue?



[30/04/14 07:38:55:437 MDT] ERROR init.DotInitScheduler: Couldn't remove trigger: com.dotcms.enterprise.priv.DashboardJobImpl
org.quartz.JobPersistenceException: Couldn't remove trigger: com.dotcms.enterprise.priv.DashboardJobImpl [See nested exception: java.lang.ClassNotFoundException: com.dotcms.enterprise.priv.DashboardJobImpl]
at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1490)
at org.quartz.impl.jdbcjobstore.JobStoreSupport$8.execute(JobStoreSupport.java:1462)
at org.quartz.impl.jdbcjobstore.JobStoreCMT.executeInLock(JobStoreCMT.java:242)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1458)
at org.quartz.core.QuartzScheduler.unscheduleJob(QuartzScheduler.java:965)
at org.quartz.core.QuartzScheduler.deleteJob(QuartzScheduler.java:932)
at org.quartz.impl.StdScheduler.deleteJob(StdScheduler.java:278)
at com.dotmarketing.init.DotInitScheduler.start(DotInitScheduler.java:504)
at com.dotmarketing.servlets.InitServlet.init(InitServlet.java:197)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1173)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:993)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4187)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4496)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:546)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:637)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:563)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:498)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1277)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:321)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:785)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:519)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:581)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: com.dotcms.enterprise.priv.DashboardJobImpl
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1516)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1361)
at org.quartz.simpl.InitThreadContextClassLoadHelper.loadClass(InitThreadContextClassLoadHelper.java:72)
at org.quartz.simpl.CascadingClassLoadHelper.loadClass(CascadingClassLoadHelper.java:116)
at com.dotmarketing.quartz.MySQLJDBCDelegate.selectJobForTrigger(MySQLJDBCDelegate.java:1954)
at org.quartz.impl.jdbcjobstore.JobStoreSupport.removeTrigger(JobStoreSupport.java:1474)

Jorge Urdaneta

unread,
Apr 30, 2014, 12:27:01 PM4/30/14
to dot...@googlegroups.com
That can happen if you were running from source and now from the distribution.
If you don’t use the clickstream feature just ignore it.


------------------------
Dotcms
Eurocenter Diursa
Primera Etapa, Piso 2, Oficina DotCMS
Barreal de Herediafrente a CENADA,

--
You received this message because you are subscribed to the Google Groups "Dotcms User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dotcms+un...@googlegroups.com.
To post to this group, send email to dot...@googlegroups.com.
Visit this group at http://groups.google.com/group/dotcms.
For more options, visit https://groups.google.com/d/optout.

Casey Wise

unread,
Apr 30, 2014, 2:41:37 PM4/30/14
to dot...@googlegroups.com
I wonder if the upgrade script might need some touch up?

This error in the log:

... 34 more

Gives rise to this data digging:
SELECT
    JOB_NAME,
    JOB_CLASS_NAME,
    JOB_DATA
FROM
    qrtz_excl_job_details
WHERE 
    JOB_NAME = 'DashboardJobImpl';
Yielding this return:
+------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| JOB_NAME         | JOB_CLASS_NAME                              | JOB_DATA                                                                                                                                                                                                                                                                          |
+------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| DashboardJobImpl | com.dotcms.enterprise.priv.DashboardJobImpl | ?? sr org.quartz.JobDataMap???迩??  xr &org.quartz.utils.StringKeyDirtyFlagMap????]( Z allowsTransientDataxr org.quartz.utils.DirtyFlagMap?.?(v
? Z dirtyL mapt Ljava/util/Map;xp sr java.util.HashMap???`? F 
loadFactorI     thresholdxp?@            x                      |
+------------------+---------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
The JOB_DATA is corrupt data, right?

Jorge Urdaneta

unread,
Apr 30, 2014, 3:02:41 PM4/30/14
to dot...@googlegroups.com
If you ever ran from source that was the right class name. Now if you run from distribution the class name is com.dotcms.enterprise.priv.d

The weird data you see is a serialized java object. It is expected to be non-human-readable.

If you don’t use clickstream then don’t worry just ignore that. You can even disable that cron job completely setting

DASHBOARD_POPULATE_TABLES_CRON_EXPRESSION=false

in dotmarketing-conf.properties


------------------------
Dotcms
Eurocenter Diursa
Primera Etapa, Piso 2, Oficina DotCMS
Barreal de Herediafrente a CENADA,

Casey Wise

unread,
Apr 30, 2014, 3:52:18 PM4/30/14
to dot...@googlegroups.com
Thanks Jorge!

Just to confirm with you:

DASHBOARD_POPULATE_TABLES_CRON_EXPRESSION=false

Goes in dotmarketing-conf.properties not dotmarketing-config-ext.properties in the configuration plugin?
...

Jorge Urdaneta

unread,
Apr 30, 2014, 3:55:49 PM4/30/14
to dot...@googlegroups.com
Both works. But if you gonna use the plugin remember deploy plugins before startup.



------------------------
Dotcms
Eurocenter Diursa
Primera Etapa, Piso 2, Oficina DotCMS
Barreal de Herediafrente a CENADA,

Reply all
Reply to author
Forward
0 new messages