该石英的等效m子4构型应该是什么?

发布于 2025-01-23 09:18:37 字数 3013 浏览 4 评论 0原文

我正在从mule-config.xml迁移m子3应用程序,我们正在调用同步方法。下面是mule3-config.xml看起来像: -

<quartz:connector name="quartzConnector" createMultipleTransactedReceivers="false" numberOfConcurrentTransactedReceivers="1" >
    <dispatcher-threading-profile doThreading="false"/>
</quartz:connector>


<flow name="rccHeartbeatTask">
    <quartz:inbound-endpoint connector-ref="quartzConnector" repeatInterval="1000" startDelay="60000" jobName="rccHeartbeat">
        <quartz:event-generator-job/>
    </quartz:inbound-endpoint>
    
    <component>
        <method-entry-point-resolver>
            <include-entry-point method="process"/>
        </method-entry-point-resolver>
    
        <singleton-object class="com.emsgt.occ600.task.RCCHeartbeatGenerator"/>
    </component>
</flow> 

过程方法如下: -

public synchronized void process() throws Exception {   
    //some code
}

我想将其转换为m子4和转换后的mule-config。 XML看起来如下: -

<spring:config name="springConfig" files="beans.xml" /> 
<flow name="mule-configFlow" doc:id="c7374765-8867-4e12-b62b-88e69f98824c" >
        <scheduler doc:name="rccHeartbeat" doc:id="85e2d9b9-330d-48a1-a37b-4882a46bcaa6" >
            <scheduling-strategy >
                <fixed-frequency startDelay="60000" frequency="1000"/>
            </scheduling-strategy>
        </scheduler>
         <java:invoke instance="taskScheduler" class="com.emsgt.occ600.task.RCCHeartbeatGenerator" method="process()" />
    </flow>

beans.xml如下所示: -

<bean id="taskScheduler" scope="singleton" class="com.emsgt.occ600.task.RCCHeartbeatGenerator">
        </bean>

如果我构建此转换后的应用程序,构建和部署成功,但是部署后我要低于错误: -

Error stacktrace :
Message               : Invocation of Method 'process()' from Class 'com.emsgt.occ600.task.RCCHeartbeatGenerator' without any argument resulted in an error.
Cause: java.lang.NoClassDefFoundError - com/emssatcom/dal/util/CacheRecord
Element               : mule-configFlow/processors/0 @ occtaskscheduler-1.0.0-SNAPSHOT-mule-application:mule-config.xml:31
Element DSL           : <java:invoke instance="taskScheduler" class="com.emsgt.occ600.task.RCCHeartbeatGenerator" method="process()"></java:invoke>
Error type            : JAVA:INVOCATION
FlowStack             : at mule-configFlow(mule-configFlow/processors/0 @ occtaskscheduler-1.0.0-SNAPSHOT-mule-application:mule-config.xml:31)

代替“过程方法”,如果我调用任何非同步方法,应用程序不行运行。

我的迁移m子config.xml中缺少以下线条。

&lt; Quartz:连接器名称=“ QuartzConnector” createMultipletRansactedReceivers =“ false” numberEfconcurrentTransactedReceivers =“ 1”&gt; &lt;/quartz:连接器&gt;

该石英的等效m子4构型应该是什么? 如果迁移的XML中缺少其他任何内容,请添加。

beans.xml的定义如下: -

beans.xml

I am migrating Mule 3 application to Mule4,From Mule-config.xml we are calling synchronized method . Below is the Mule3-config.xml looks like :-

<quartz:connector name="quartzConnector" createMultipleTransactedReceivers="false" numberOfConcurrentTransactedReceivers="1" >
    <dispatcher-threading-profile doThreading="false"/>
</quartz:connector>


<flow name="rccHeartbeatTask">
    <quartz:inbound-endpoint connector-ref="quartzConnector" repeatInterval="1000" startDelay="60000" jobName="rccHeartbeat">
        <quartz:event-generator-job/>
    </quartz:inbound-endpoint>
    
    <component>
        <method-entry-point-resolver>
            <include-entry-point method="process"/>
        </method-entry-point-resolver>
    
        <singleton-object class="com.emsgt.occ600.task.RCCHeartbeatGenerator"/>
    </component>
</flow> 

process method looks like below :-

public synchronized void process() throws Exception {   
    //some code
}

I want to convert this to Mule 4 and my converted Mule-config. xml looks like below :-

<spring:config name="springConfig" files="beans.xml" /> 
<flow name="mule-configFlow" doc:id="c7374765-8867-4e12-b62b-88e69f98824c" >
        <scheduler doc:name="rccHeartbeat" doc:id="85e2d9b9-330d-48a1-a37b-4882a46bcaa6" >
            <scheduling-strategy >
                <fixed-frequency startDelay="60000" frequency="1000"/>
            </scheduling-strategy>
        </scheduler>
         <java:invoke instance="taskScheduler" class="com.emsgt.occ600.task.RCCHeartbeatGenerator" method="process()" />
    </flow>

beans.xml looks like below:-

<bean id="taskScheduler" scope="singleton" class="com.emsgt.occ600.task.RCCHeartbeatGenerator">
        </bean>

If I build this converted application, build and deployment is successful but I am getting below error after deployment:-

Error stacktrace :
Message               : Invocation of Method 'process()' from Class 'com.emsgt.occ600.task.RCCHeartbeatGenerator' without any argument resulted in an error.
Cause: java.lang.NoClassDefFoundError - com/emssatcom/dal/util/CacheRecord
Element               : mule-configFlow/processors/0 @ occtaskscheduler-1.0.0-SNAPSHOT-mule-application:mule-config.xml:31
Element DSL           : <java:invoke instance="taskScheduler" class="com.emsgt.occ600.task.RCCHeartbeatGenerator" method="process()"></java:invoke>
Error type            : JAVA:INVOCATION
FlowStack             : at mule-configFlow(mule-configFlow/processors/0 @ occtaskscheduler-1.0.0-SNAPSHOT-mule-application:mule-config.xml:31)

In place of "process method" if I call any non synchronized method, application runs without errors.

Below lines are missing in my migrated mule-config.xml.

<quartz:connector name="quartzConnector" createMultipleTransactedReceivers="false" numberOfConcurrentTransactedReceivers="1" >

</quartz:connector>

what should the equivalent Mule4 configuration for this quartz:connector and in Mule4?
Please add if anything else is missing in migrated xml.

Definition of beans.xml looks like below :-

beans.xml

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文