[mule-user] The required object/property "jobConfig" is null

1 view
Skip to first unread message

bahman kalali

unread,
Jun 30, 2011, 11:40:34 AM6/30/11
to us...@mule.codehaus.org
I am migrating a mule application based on 2.0 to 3.1.2. The following quartz inbound endpoint is configured for 2.0.


<quartz:connector name="DBMonitorQuartzConnector" />

<quartz:endpoint name="DBMonitorServiceTrigger" repeatInterval="1000" address="quartz://DBMonitorAddress" connector-ref="DBMonitorQuartzConnector" />

<model name="DBMonitorModel">

<service name="DBMonitorService">
<inbound>
<inbound-endpoint ref="DBMonitorServiceTrigger"/>
</inbound>
<pooled-component>
<no-arguments-entry-point-resolver acceptVoidMethods="true">
<include-entry-point method="monitorDB"/>
</no-arguments-entry-point-resolver>
<spring-object bean="IDBMonitorService"/>
<pooling-profile exhaustedAction="WHEN_EXHAUSTED_GROW"/>
</pooled-component>
</service>

</model>

The above quartz inbound endpoint worked fine in 2.0, but after migrating the code to 3.1.2, the following exception is thrown:

ERROR 2011-06-30 10:13:06,701 [WrapperListener_start_runner] org.mule.module.launcher.application.DefaultMuleApplication: null
java.lang.IllegalArgumentException: The required object/property "jobConfig" is null
at org.mule.transport.quartz.QuartzMessageReceiver.doStart(QuartzMessageReceiver.java:72)
at org.mule.transport.AbstractTransportMessageHandler$3.onTransition(AbstractTransportMessage

I was wondering if we need to perform any changes to the mule configuration file in 3.1.2.

Thanks,

--Bahman

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email


Stephen Fenech

unread,
Jul 1, 2011, 12:06:39 AM7/1/11
to us...@mule.codehaus.org
You need to set a job child element, the easiest in your case would be an Event Generator Job. Look at http://www.mulesoft.org/documentation/display/MULE3USER/Quartz+Transport+Reference#QuartzTransportReference-EventGeneratorJob for an example and documentation.
ricston
 Your flexible Open Source services partner
Stephen FenechConsultant
Ricston Ltd - Northfields Suite 4,
Independence Avenue, Mosta MST9026, MALTA
stephen...@ricston.com - www.ricston.com
tel: +356 21334457 - fax +356 21334156

bkalali1

unread,
Jul 5, 2011, 10:23:21 AM7/5/11
to us...@mule.codehaus.org
Thanks Stephen,

I created a scheduler which is referenced by the connector and added event-generator-job. It looks that this has resolved the issue, but I have not yet been able to verify that since I still have other migration issues. This time, it is related to persistence context of JPA is not found in the class path. Basically, we have Spring context file that has entityManagerFactory which references a persistenceUnitName, but that persistenceUnitName cannot be found even thought the perssitance.xml is in apps/myapplication/classes/META-INF.

This persistence context was found in the class path when the application was deployed into user directory in 2.0. I am guessing this issue is related to conflict of jar files that are in /opt and jar files that we used in 2.0 for hibernate/Jpa integration. As part of migration, we are now moving our application to apps directory

<quartz:connector name="DBMonitorQuartzConnector"
scheduler-ref="myScheduler" />

<spring:bean id="myScheduler" factory-bean="mySchedulerFactory"
factory-method="getScheduler" />

<spring:bean id="mySchedulerFactory" class="org.quartz.impl.StdSchedulerFactory">
<spring:constructor-arg>
<spring:props>
<spring:prop key="org.quartz.scheduler.instanceName">TestScheduler1</spring:prop>
<spring:prop key="org.quartz.threadPool.class">org.quartz.simpl.SimpleThreadPool
</spring:prop>
<spring:prop key="org.quartz.threadPool.threadCount">3</spring:prop>
<spring:prop key="org.quartz.scheduler.rmi.export">false</spring:prop>
<spring:prop key="org.quartz.scheduler.rmi.proxy">false</spring:prop>
<spring:prop key="org.quartz.jobStore.class">org.quartz.simpl.RAMJobStore
</spring:prop>
</spring:props>
</spring:constructor-arg>
</spring:bean>

<quartz:endpoint name="DBMonitorServiceTrigger"
repeatInterval="1000" address="quartz://DBMonitorAddress" jobName="NoPayloadJob"
cronExpression="0 0/5 * * * ?" connector-ref="DBMonitorQuartzConnector">
<quartz:event-generator-job />
</quartz:endpoint>

Reply all
Reply to author
Forward
0 new messages